Vấn đề
Chúng tôi được yêu cầu viết một hàm JavaScript nhận một số nguyên dương n được viết dưới dạng abcd ... (a, b, c, d ... là các chữ số) và một số nguyên dương p
- chúng ta muốn tìm một số nguyên dương k, nếu nó tồn tại, chẳng hạn như tổng các chữ số của n lấy các lũy thừa liên tiếp của p bằng k * n.
Nói cách khác -
Có số nguyên k như:(a ^ p + b ^ (p + 1) + c ^ (p + 2) + d ^ (p + 3) + ...) =n * k
Nếu đúng như vậy, chúng ta sẽ trả về k, nếu không trả về -1.
Ví dụ
Sau đây là mã -
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)); Đầu ra
Sau đây là đầu ra của bảng điều khiển -
-1