查找一个数字,当与输入数字相乘时会在 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