Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tìm tính bền cộng của số - JavaScript

Tính bền cộng (Additive Persistence) của số nguyên n là số lần phải thay n bằng tổng các chữ số của nó cho đến khi n trở thành số có 1 chữ số.

Ví dụ

Số: 1679583

  1. 1+6+7+9+5+8+3 = 39
  2. 3+9 = 12
  3. 1+2 = 3 (1 chữ số → dừng)

Tính bền = 3

Giải pháp

Mã triển khai:

const num = 1679583;

const sumDigit = (num, sum = 0) => {
  if (num) return sumDigit(Math.floor(num / 10), sum + num % 10);
  return sum;
};

const persistence = num => {
  num = Math.abs(num);
  let res = 0;
  while (num > 9) {
    num = sumDigit(num);
    res++;
  }
  return res;
};

console.log(persistence(num));

Kết quả

Đầu ra trong console:

3