import java.util.Scanner;
//四平方和–1
public class Test03 {
public static void main(String[] args) {
Scanner input =new Scanner(System.in);
int num = input.nextInt();//输入一个正整数
double maxNum= Math.sqrt(5000000);//最大的数不超过5000000开根号
for (int i = 0; i <maxNum; i++) {
for (int j = i; j < maxNum; j++) {//第二个数初值等于i,此后循环可以确定i<=j
for (int k = j; k < maxNum; k++) {//第三个数初值等于j,此后循环可以确定i<=j<=k
//其他三个数确定,第四个也就确定了,且i<=j<=k<=l,因为i,j,k都是从最小的情况下开始循环累加的
int l=(int)Math.sqrt(num-ii-jj-kk);
if(ii+jj+kk+l*l==num){
System.out.println(i+" “+j+” “+k+” "+l);
return;
}
}
}
}
}
}
【卡雷尔杯】四平方和
最新推荐文章于 2024-09-15 19:46:31 发布