Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การหาตัวเลขเมื่อคูณด้วยตัวเลขอินพุตจะได้ตัวเลขอินพุตใน JavaScript


ปัญหา

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