查找一个数字,当与输入数字相乘时会在 JavaScript 中产生输入数字
问题
我们需要编写一个JavaScript函数,它接收一个写为abcd...(a,b,c,d...是数字)的正整数n和一个正整数p
我们想找到一个正整数k,如果它存在,比如n的数字的p的连续幂的总和等于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