标签:高效 等于 循环 基本功 语言 head ++ 总结 方法
在学习C语言时我们也曾经接触过完全数,完全数所有的真因子的和,恰好等于它本身,所以要查找完全数只需比对该数是否满足该约束条件。
首先定义两个变量a,b,存储用户输入的区间头和尾,之后使用for
循环遍历区间,逐个判断其真因子和是否等于它本身,如果有的话输出,同时计数变量count
的值加一,最后判断计数变量count
的值是否等于初值,如果相等说明区间内未找到完全数,输出提示“该区间内没有完全数”。
正常情况
异常情况
for (int i=a;i<=b ;i++) { //遍历a到b
for(int j=1;j<i;j++){ //遍历比该数小的正整数
if(i%j==0) { //如果j是i的因子
total = total + j; //total是在循环外定义的,初值为0,用于计算真因子和
}
}
if(total==i){ //如果真因子和等于它本身
System.out.println(i); //输出该数
count++; //count初值为0,若找到则其不再为0,可用于判断该区间内是否有完全数
}
total=0;
}
在写第二个个人项目时,我先抓住问题的关键,即判断一个数的因子和是否与其本身相等,再围绕问题关键解决问题。我发现这样解决问题又快思路又清晰,虽然这是一个特别小的项目,代码只有几十行,但是在完成大的项目时这种方法依然适用且高效。
步骤 | 耗时(min) | 百分比 |
---|---|---|
需求分析 | 5 | 8.3% |
设计 | 15 | 25% |
代码实现 | 15 | 25% |
测试 | 10 | 16.7% |
分析总结 | 15 | 25% |
标签:高效 等于 循环 基本功 语言 head ++ 总结 方法
原文地址:https://www.cnblogs.com/20175317zrw/p/10915929.html