使用 JavaScript 检查数字是否能被 7 整除


问题

如果一个数满足格式 10a + b 并且 a - 2b 可以被 7 整除,那么我们可以检查该数是否可以被 7 整除。

我们会一直进行检查,直到得到一个已知可以被 7 整除的数;当这个数最多只有 2 位数时,我们可以停止检查,因为我们应该知道最多 2 位数的数是否可以被 7 整除。

我们需要编写一个 JavaScript 函数,该函数接收一个数字,并返回将该数字减小到最多两位数所需执行的步骤数以及该两位数。

输入

const num = 1603;

输出

const output = [7, 2];

因为步骤为 −

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

且最终值为 7

示例

以下为代码 −

 实时演示

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

输出

[7, 2]

更新于: 2021 年 4 月 17 日

547 次浏览

开启您的 职业生涯

完成课程,获得认证

开始
广告
© . All rights reserved.