Computer >> Máy Tính >  >> Lập trình >> Javascript

Các số thu được trong quá trình kiểm tra tính chia hết cho 7 bằng JavaScript

Vấn đề

Chúng ta có thể kiểm tra xem 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.

Chúng tôi tiếp tục làm điều này cho đến khi thu được một số biết chia hết cho 7; chúng ta có thể dừng lại khi số này có nhiều nhất 2 chữ số vì chúng ta phải biết một số có nhiều nhất 2 chữ số có chia hết cho 7 hay không.

Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào một số và trả về số lượng các bước cần thiết như vậy để giảm tối đa số này thành số có hai chữ số và số có hai chữ số đó.

Đầu vào

const num = 1603;

Đầu ra

const output = [7, 2];

Bởi vì các bước là -

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

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

Ví dụ

Sau đây là mã -

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));

Đầu ra

[7, 2]