题解 | #完全数计算#

完全数计算

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

解题思路】: 本题可以通过遍历每一个约数,求和,判断完全数。约数计算可以遍历sqrt(n)的范围。


public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int sum = 0;
        for (int i = 1; i < n; i++) {
            if(is_num(i)){
                sum++;
            }
        }
        System.out.println(sum);
    }

    private static boolean is_num(int x) {
        int[] nums = new int[x];
        int count = 0;
        for (int i = 1; i < x; i++) {
            if(x%i==0){
                nums[count++]=i;
            }
        }
        if(is_(nums,x)){
            return true;
        }
        else return false;
    }

    private static boolean is_(int[] nums, int x) {
        int sum = 0;
        for (int i = 0; i < nums.length; i++) {
            sum+=nums[i];
        }
        if(sum==x)  return true;
        else return false;
    }
}

全部评论

相关推荐

07-07 14:30
复旦大学 Java
遇到这种人我也不知道说啥了
无能的丈夫:但我觉得这个hr语气没什么问题啊(没有恶意
点赞 评论 收藏
分享
点赞 评论 收藏
分享
06-18 13:28
已编辑
门头沟学院 Web前端
爱睡觉的冰箱哥:《给予你300的工资》,阴的没边了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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