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

Tìm hiệu giữa tổng chữ số ở vị trí chẵn và lẻ - JavaScript

Viết hàm JavaScript nhận vào một số và trả về giá trị tuyệt đối của hiệu giữa tổng các chữ số ở vị trí chẵn và tổng các chữ số ở vị trí lẻ (tính từ phải sang trái, bắt đầu từ 0).

Giải pháp

Sử dụng đệ quy để xử lý từng chữ số từ cuối số. Chữ số ở vị trí chẵn (index % 2 === 0) được cộng, vị trí lẻ bị trừ.

const num = 345336;

const evenOddDifference = (num, res = 0, ind = 0) => {
  if (num) {
    if (ind % 2 === 0) {
      res += num % 10; // Vị trí chẵn: cộng
    } else {
      res -= num % 10; // Vị trí lẻ: trừ
    }
    return evenOddDifference(Math.floor(num / 10), res, ind + 1);
  }
  return Math.abs(res);
};

console.log(evenOddDifference(num));

Kết quả

2

Giải thích cho 345336 (đọc từ phải sang trái):

  • Vị trí 0 (chẵn): 6 → +6
  • Vị trí 1 (lẻ): 3 → -3
  • Vị trí 2 (chẵn): 3 → +3
  • Vị trí 3 (lẻ): 5 → -5
  • Vị trí 4 (chẵn): 4 → +4
  • Vị trí 5 (lẻ): 3 → -3
  • Tổng: 6 - 3 + 3 - 5 + 4 - 3 = 2