查找数字,当用输入数字相乘时会在 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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP