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

Hiệu giữa tích và tổng các chữ số của một số trong JavaScript

Chúng ta cần viết một hàm JavaScript nhận vào một số nguyên dương làm đối số duy nhất.

Hàm nên trước tiên đếm tổng các chữ số của số đó và sau đó tích của chúng. Cuối cùng, hàm nên trả về hiệu tuyệt đối của tích và tổng.

Ví dụ:

Nếu số đầu vào là:

const num = 12345;

Thì đầu ra nên là:

const output = 105;

Ví dụ

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

const num = 12345; const product = (num, res = 1) => {    if(num){       return product(Math.floor(num / 10), res * (num % 10));    }    return res; }; const sum = (num, res = 0) => {    if(num){       return sum(Math.floor(num / 10), res + (num % 10));    }    return res; }; const productSumDifference = (num = 1) => {    return Math.abs(product(num) - sum(num)); }; console.log(productSumDifference(num));

Kết quả

Đầu ra trên console:

105

Giải thích: 12345: sum=1+2+3+4+5=15, product=1*2*3*4*5=120. |120-15|=105. Code dùng đệ quy tail-recursion tính sum và product riêng. Có thể gộp 1 lần duyệt hoặc dùng string split.