Есть ли способ представить любое число в виде суммы из четырех квадратов.
Например, 29 можно представить в виде 5 ^ 2 + 2 ^ 2 + 0 ^ 2 + 0 ^ 2
Я пробовал следующий код, но некоторые числа, дающие 5terms, например, 23 как 4 ^ 2 + 2 ^ 2 + 1 ^ 2 + 1 ^ 2 + 1 ^ 2
код, который я пробовал:
x=0;
while(num!=0){
x=(int)Math.floor(Math.sqrt(num));
num=num-(x*x);
}