四方定理(遞歸) --java
阿新 • • 發佈:2019-03-04
範圍 print style oid math return ann 平方和 著名
四方定理
數論中有著名的四方定理:所有自然數至多只要用四個數的平方和就可以表示。
我們可以通過計算機驗證其在有限範圍的正確性。
import java.*; import java.util.*; public class Main121 { 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]); } } }
四方定理(遞歸) --java