码迷,mamicode.com
首页 > 其他好文 > 详细

完全数

时间:2019-05-26 22:30:58      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:高效   等于   循环   基本功   语言   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;
        }

总结

在写第二个个人项目时,我先抓住问题的关键,即判断一个数的因子和是否与其本身相等,再围绕问题关键解决问题。我发现这样解决问题又快思路又清晰,虽然这是一个特别小的项目,代码只有几十行,但是在完成大的项目时这种方法依然适用且高效。

PSP

步骤 耗时(min) 百分比
需求分析 5 8.3%
设计 15 25%
代码实现 15 25%
测试 10 16.7%
分析总结 15 25%

完全数

标签:高效   等于   循环   基本功   语言   head   ++   总结   方法   

原文地址:https://www.cnblogs.com/20175317zrw/p/10915929.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!