题解 | #完全数计算#简单明确方法分享

完全数计算

https://www.nowcoder.com/practice/7299c12e6abb437c87ad3e712383ff84

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int n = in.nextInt();
            int pf = 0;    //定义一个用来统计完全数个数的参数        
            for(int i = 1; i <= n; i++){  //先从1开始循环遍历到n之间的每个数
                int sum = 0;  //定义一个参数作为存放当前正在遍历的数字的所有约数的除去它本身的约数之和
                for(int j = 1; j < i; j++){   //从1开始遍历到当前判断数字的值-1
                    if(i % j == 0){   //如果可以当前遍历值可以被判断的数字整除
                        sum += j;   //则当前遍历值为被判断数字的约数,并把当前遍历值加到约数之和中
                    }
                }
                if(sum == i){    //如果约数之和等于被判断的数字值
                    pf++;     //则完全数统计数量+1
                }
            }
            System.out.println(pf);   //最后输出打印在n内的完全数的个数
        }
    }
}

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务