第七届蓝桥杯大赛个人赛省赛(软件组)java语言B组---8.四平方和

package demo_Test;

/**
 * 四平方和
	四平方和定理,又称为拉格朗日定理:
	每个正整数都可以表示为至多4个正整数的平方和。
	如果把0包括进去,就正好可以表示为4个数的平方和。
	
	比如:
	5 = 0^2 + 0^2 + 1^2 + 2^2
	7 = 1^2 + 1^2 + 1^2 + 2^2
	(^符号表示乘方的意思)
	
	对于一个给定的正整数,可能存在多种平方和的表示法。
	要求你对4个数排序:
	0 <= a <= b <= c <= d
	并对所有的可能表示法按 a,b,c,d 为联合主键升序排列,最后输出第一个表示法
 */
import java.util.Scanner;


public class spfh {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);


		int n = sc.nextInt();
		long start = System.currentTimeMillis();
		for (int a = 0; a <= Math.sqrt(n); a++) {
			for (int b = a; b <= Math.sqrt(n); b++) {
				for (int c = b; c <= Math.sqrt(n); c++) {
					for (int d = c; d <= Math.sqrt(n); d++) {
						if (n == a * a + b * b + c * c + d * d) {
							System.out.println(a + " " + b + " " + c + " " + d);
							long end = System.currentTimeMillis();
							System.out.println(end-start+"ms");
							System.exit(0);
						}
					}
				}
			}
		}
	}
}

你可能感兴趣的:(蓝桥杯,java,蓝桥杯)