题解 | #完全数计算#

完全数计算

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

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.stream.Collectors;

// 注意类名必须为 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 num = in.nextInt();
            int cnt=0;
            for (int i = 1; i <= num; i++){
                if(perfectNum(i)){
                    cnt++;
                }
            }
            System.out.println(cnt);
        }
    }

    static boolean perfectNum(int num){
        List<Integer> list = new ArrayList<>();
        for(int i=1;i<=num/2;i++){
            if(num % i ==0){
                list.add(i);
            }
        }
        return list.stream().reduce(Integer::sum).orElse(0) == num;
    }
}

#23届找工作求助阵地##软件开发薪资爆料##你们的毕业论文什么进度了#
全部评论

相关推荐

点赞 评论 收藏
分享
算法冲刺中:kpi面加一,面完完全没动静,感谢信都没有
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务