猫猫球团团 2022-03-11 15:13 采纳率: 71.4%
浏览 122
已结题

判断一个整数是否是完全数;完全数是指:所有因子(包括1,不包括本身)的和等于该数本身。然后在main方法中输出100以内所有完全数。

运行结果是空白

public class work6 {
    
      static boolean isWan(int i) {//i为完全数
        int count = 1;//完全数的定义
        for(i = 2;i<1000;i++){
            for(int j=2;j<=i/2;j++)//小于等于i/2,每个整数的最大因子不超过它的一半
            {
                if(i%j==0){//如果被整除,说明j是i的因子
                    count =count + j;//因子累加
                }
            }
        }
        if(i==count) {//判断当前数和其所有因子和是否相等
            return true;//如果相等,就是
        }
        return false;
    }

    public static void main(String[] args) {
        for(int a=1;a<100;a++) {
            if(isWan(a)) {
                System.out.println(a);
            }
            else break;
        }

    }

}

  • 写回答

3条回答 默认 最新

  • qq_25376897 2022-03-11 15:44
    关注

    iswan方法中i是传入的参数,那后面的for循环就不应该把i放入其中,i++这样累加就破坏了原来的值。
    if(i==count) 的时候 i已经变了,结果自然不对。
    写了一个,你参考下

    public class Test {
        public static boolean isWan(int n) {
            int sum = 0;
            for (int i = 1; i <= n / 2; i++) {
                //是因子,累加
                if (n % i == 0) {
                    sum = sum + i;
                }
            }
            //满足完全数的定义返回true,否则返回false
            if (sum == n) {
                return true;
            } else {
                return false;
            }
        }
    
        public static void main(String[] args) {
            for (int i = 1; i <= 100; i++) {
                if (isWan(i)) {
                    System.out.println(i);
                }
            }
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月19日
  • 已采纳回答 3月11日
  • 创建了问题 3月11日

悬赏问题

  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教