2018-2019-2 20175310 个人项目报告3--亲密数

2018-2019-2 20175310 个人项目报告3--亲密数

定义:

如果a的所有正因子和等于bb的所有正因子和等于a,因子包括1但不包括本身,且a不等于b,则称a,b为亲密数对。

需求分析:

根据亲密数的定义,用Java语言进行设计实现。

设计实现:

本代码实现的是输出10000以内的亲密数对
伪代码如下:

1、计算数a的各因子,各因子之和存放于b
2、计算数b的各因子,各因子之和存放于n
3、若n=a,则a和b是一对亲密数

难点总结:

最初写出的代码漏洞百出,首先是没有排除a和a这种相等的情况,其次是没有将a和b还有b和a这种重复情况删除

这两个问题都是在同一个语句中解决的:

//若n=a,则a和b是一对亲密数
            if(n==a&&b!=n&&a<b) {
                System.out.println(a+"和"+b);
            }

我一开始写的代码中if语句中的条件只有判断n==a,新加的b!=n是去掉a和a这种情况,a<b是去掉a和b还有b和a这种重复情况

运行结果截图:

码云链接

PSP时间

步骤 耗时(min) 百分比
需求分析 10 11%
设计 20 22%
代码实现 30 33%
测试 10 11%
分析总结 20 22%
原文地址:https://www.cnblogs.com/xicyannn/p/10887486.html