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

Các số thu được khi kiểm tra tính chia hết cho 7 trong JavaScript

Vấn đề

Chúng ta có thể kiểm tra một số có chia hết cho 7 không nếu nó có dạng 10a + b và a - 2b chia hết cho 7.

Tiếp tục thực hiện điều này cho đến khi thu được một số biết chắc chắn chia hết cho 7; ta có thể dừng lại khi số này có tối đa 2 chữ số vì ta được cho là biết một số có tối đa 2 chữ số có chia hết cho 7 hay không.

Chúng ta cần viết một hàm JavaScript nhận vào một số và trả về số bước cần thiết để giảm số đó xuống một số có tối đa 2 chữ số và số 2 chữ số đó.

Đầu vào

const num = 1603;

Đầu ra

const output = [7, 2];

Vì các bước thực hiện:

160 - 2*3 = 154 
15 - 2*8 = 7

Và giá trị cuối cùng là 7

Ví dụ

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

const num = 1603; 
const findSteps = (num) => { 
  let times = 0; 
  let result = 0; 
  let number = String(num); 
  while(number.length > 2){ 
    times++; 
    let firstNumber = Number(number.slice(-1)) 
    const remaining = Number(number.slice(0, number.length - 1)) 
    result = remaining - 2 * firstNumber 
    number = String(result) 
  } 
  return [result, times] 
} 
console.log(findSteps(num));

Kết quả

[7, 2]