查找数字,当用输入数字相乘时会在 JavaScript 中产生输入数字
问题
要求编写一个 JavaScript 函数,它接受一个写成 abcd...(a、b、c、d... 为数字)的正整数 n 和一个正整数 p
- 我们要找到一个正整数 k(如果存在),将以连续幂 p 累加 n 的数字总和等于 k * n。
换句话说 −
是否有整数 k 如 :(a ^ p + b ^ (p+1) + c ^(p+2) + d ^ (p+3) + ...) = n * k
如果是这种情况,我们会返回 k,如果不是则返回 -1。
例如
以下代码 −
const num = 695; const p = 2; const findDesiredNumber = (num, p) => { let sum = 0; let str = String(num); for(const char in str){ sum += str[char] * p; p++; }; return Number.isInteger(sum/num) ? sum/num : -1; }; console.log(findDesiredNumber(num, p));
输出
以下为控制台输出 −
-1
广告