Написать программу, которая позволяет ввести с клавиатуры натуральное число N и вывести на экран все комбинации натуральных чисел
Полное задание: Написать программу, которая позволяет ввести с клавиатуры натуральное число N и вывести на экран все комбинации натуральных чисел x, y, z, таких что x^3+y^3+z^3=N. Если число N невозможно разложить по кубам x, y, z, программа должна выводить сообщение «No such combinations!».
Написал вот такую функцию, но понял, что это вообще не то, что нужно. Есть идея проверять при каждой итерации x, y++, z=1, и так для всех чисел, но думаю тоже не правильное направление и слишком сложно. Не знаю как правильно составить логику для данной задачи.
function asd(N)
{
for(i=0; i<=N; i++)
{
for(x=0; x<=N; x++)
{
var xa= Math.pow(x, 3);
}
for(y=0; y<=N; y++)
{
var ya= Math.pow(y, 3);
}
for(z=0; z<=N; z++)
{
var za= Math.pow(z, 3);
}
let sum = xa + ya + za;
if(sum == N)
{
console.log(`${xa} + ${ya} + ${za}`);
}
else if(k)
{
alert("No such combinations!")
}
}
}
Ответы (1 шт):
Выкиньте цикл по i.
Циклы по x, y ,z должны быть вложенные друг в друга, внутри самого внутреннего проверяется sum
Введите в начале переменную let count = 0 и увеличивайте её при каждом if(sum == N)
После работы всех циклов, если count == 0, выведите "No such combinations!"