【发布时间】:2020-02-13 19:48:09
【问题描述】:
如果一个数字至少有 3 位数长并且可以被第一个和最后一个数字串在一起形成的数字整除,则该数字是有间隙的。 符合此描述的最小数字是 100。第一个数字是 1,最后一位为 0,形成 10,即 100 的因数。因此, 100 是有缺口的。
创建一个接受数字 n 并返回最接近的 gapful 的函数 编号(包括它自己)。如果有 2 个有间隙的数字是 与 n 等距,返回较小的。
例子 gapful(25) ➞ 100
缺口(100) ➞ 100
缺口(103) ➞ 105
所以为了解决这个问题,我编写了从给定数字循环到大于该数字的代码,并找出它是否是
function getFrequency(array){
var i=array
while(i>=array){
let a=i.toString().split('')
let b=a[0]+a[a.length-1]
b= +b
if(i%b==0) return i
i++
}
}
console.log(getFrequency(103))
这很好,但是如果间隙数字小于函数中传递的数字怎么办? 就像如果我通过 4780 答案是 4773 那么在我的逻辑中我如何检查同时小于和大于通过的数字?
我只循环查找大于函数中提供的数字的数字
【问题讨论】:
-
可以使用递归函数
标签: javascript