ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน 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