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

Số lần nhớ (carry) khi cộng hai số trong JavaScript

Vấn đề

Chúng ta cần viết một hàm JavaScript nhận vào hai số. Hàm sẽ đếm số lần nhớ (carry) cần thực hiện khi cộng hai số đó như thể đang cộng trên giấy. Ví dụ khi cộng 179 và 284, ta nhớ 2 lần, nên hàm trả về 2.

Ví dụ

Dưới đây là mã nguồn:

const num1 = 179; 
const num2 = 284; 
const countCarries = (num1 = 1, num2 = 1) => { 
  let res = 0; 
  let carry = 0; 
  while(num1 + num2){ 
    carry = +(num1 % 10 + num2 % 10 + carry > 9); 
    res += carry; 
    num1 = num1 / 10 | 0; 
    num2 = num2 / 10 | 0; 
  }; 
  return res; 
}; 
console.log(countCarries(num1, num2));

Kết quả

Kết quả đầu ra trong console:

2