四方定理 數論中有著名的四方定理:所有自然數至多隻要用四個數的平方和就可以表示。
阿新 • • 發佈:2019-01-08
執行結果:/* 四方定理 數論中有著名的四方定理:所有自然數至多隻要用四個數的平方和就可以表示。 我們可以通過計算機驗證其在有限範圍的正確性。 對於大數,簡單的迴圈巢狀是不適宜的。下面的程式碼給出了一種分解方案。 請仔細閱讀,填寫空缺的程式碼(下劃線部分)。 注意:請把填空的答案(僅填空處的答案,不包括題面)存入考生資料夾下對應題號的“解答.txt”中即可。 直接寫在題面中不能得分。 */ import java.util.Scanner; public class 四方定理 { public static int f(int n, int a[], int idx) { if (n==0) // 填空1 return 1; if (idx == 4) return 0; for (int i = (int) Math.sqrt(n); i >= 1; i--) { a[idx] = i; if (f(n-i*i, a, idx+1) == 1) // 填空2 return 1; } return 0; } public static void main(String[] args) { Scanner scan = new Scanner(System.in); for (;;) { int number; System.out.printf("輸入整數(1~10億):"); number = scan.nextInt(); int a[] = { 0, 0, 0, 0 }; int r = f(number, a, 0); System.out.printf("%s: %d %d %d %d\n", r==1?"有結果":"無結果", a[0], a[1], a[2], a[3]); } } }
輸入整數(1~10億):234
有結果: 15 3 0 0
輸入整數(1~10億):4
有結果: 2 0 0 0
輸入整數(1~10億):0
有結果: 0 0 0 0
輸入整數(1~10億):-1
無結果: 0 0 0 0
輸入整數(1~10億):