ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้จำนวนเต็มบวก n เขียนเป็น abcd... (a, b, c, d... เป็นตัวเลข) และจำนวนเต็มบวก 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