zoukankan      html  css  js  c++  java
  • 完全数

    完全数

    需求分析

    在学习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%
  • 相关阅读:
    异常
    带参数的方法
    变量,基本类型,数据类型和运算符
    数据类型转换(针对数字类型)
    this关键字
    面向对象DAO模式
    常见类 Object
    方法和包
    final关键字
    abstract关键字
  • 原文地址:https://www.cnblogs.com/20175317zrw/p/10915929.html
Copyright © 2011-2022 走看看