2018-2019-2 20175310 个人项目报告6--四方定理
定义:
数论中著名的“四方定理”讲的是:所有自然数至多只要用四个数的平方和就可以表示。
需求分析:
根据四方定理的定义,用Java语言进行证明。
设计实现:
伪代码:
主方法:
1、读取用户输入的整数
2、调用f方法,判断该整数是否能进行分解
3、输出判断结果
f方法:
1、如果需要输出的数n为0,则返回1
2、如果数组a[]的四位均遍历了,则返回0
3、for循环是用于分解n,将n开根号,结果下取整赋值给数组a,对数n-i*i再次进行f方法,直到数组a[]的四位均遍历过
难点总结:
难点主要是f方法中的for
循环,里面还嵌套了一个f
方法
for (int i = (int) Math.sqrt(n); i >= 1; i--) {
a[idx] = i;
if (f(n-i*i, a, idx+1) == 1) {
return 1;
}
}
运行结果截图:
码云链接
PSP时间
步骤 | 耗时(min) | 百分比 |
---|---|---|
需求分析 | 10 | 11% |
设计 | 20 | 22% |
代码实现 | 30 | 33% |
测试 | 10 | 11% |
分析总结 | 20 | 22% |