Computer >> Máy Tính >  >> Lập trình >> Javascript

Thêm chữ số của một số bằng nhiều hơn 2 phương pháp JavaScript

Chúng tôi bắt buộc phải viết một hàm JavaScript bằng một số và liên tục tính tổng chữ số của nó cho đến khi nó chuyển sang một số có một chữ số.

Chúng tôi sẽ giải quyết vấn đề này bằng hai phương pháp -

Phương pháp 1:Sử dụng vòng lặp

Giải pháp này sử dụng các vòng lặp while để cộng đệ quy các chữ số của số.

Ví dụ

const num = 123456;
const addDigits = (num = 1) => {
   let sum = num;
   while(sum % 10 !== sum){
      let sum1 = 0;
      while(sum > 0){
         sum1 += sum % 10;
         sum = Math.floor(sum / 10);
      }
      sum = sum1;
   };
   return sum;
};
console.log(addDigits(num));

Phương pháp 2:Sử dụng giải pháp thời gian không đổi (độ phức tạp thời gian O (1))

Giải pháp này sử dụng công thức Tích lũy của Toán học và độc giả nên khám phá công thức này để hiểu rõ hơn về giải pháp này.

Ví dụ

const num = 123456;
const addDigits = (num = 1) => {
   let predicate = (num - 1) % 9;
   return ++predicate;
};
console.log(addDigits(num));

Đầu ra

Và đầu ra trong bảng điều khiển cho cả hai phương pháp sẽ là -

3