题解 | #完全数计算#

完全数计算

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

这种题,不可能真的从 1n 这个范围内找 有多少个 完全数。因为题目给定的 n 的范围是 1<=n<=51051<=n<=5*10^5 ,所以就算是单纯遍历这么多个数,就已经相当的耗时了,更别说一个一个数的判断,它是不是 完全数不现实。因此,我们直接看,完全数 到底有哪些直接 给结果就好。

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = Integer.valueOf(scan.nextLine().trim());
        if (n < 6) {
            System.out.println(0);
        } else if (n < 28) {
            System.out.println(1);
        } else if (n < 496) {
            System.out.println(2);
        } else if (n < 8128) {
            System.out.println(3);
        } else {
            System.out.println(4);
        }
    }
}
全部评论
面向结果编程
10 回复 分享
发布于 2023-04-19 15:10 陕西
请问怎么查???? 上网嘛????
3 回复 分享
发布于 2022-08-12 20:37
你机考的时候也百度咯
3 回复 分享
发布于 2022-08-27 19:40 广东
请到主席台上来讲话
1 回复 分享
发布于 2022-10-23 23:48 广东
该牛油正在参与牛客写题解薅羊毛的活动,牛币,周边,京东卡超多奖品放送,活动进入倒计时!快来捡漏啦https://www.nowcoder.com/discuss/888949?source_id=profile_create_nctrack&channel=-1
点赞 回复 分享
发布于 2022-04-27 11:44
你是怎么得出来边界值的?
点赞 回复 分享
发布于 2022-06-14 09:09
完全数查一下就知道了
点赞 回复 分享
发布于 2022-07-03 21:04
66666666
点赞 回复 分享
发布于 2023-02-28 23:48 陕西
我阿斑愿称你为最强!
点赞 回复 分享
发布于 2023-03-11 20:04 广东
public static boolean isPerfectNumber(int num) { int originalNum = num; int lastNum = num; int index = 2; int newSum = 1; while (index < lastNum) { if(num % index == 0) { lastNum = num / index; newSum += index; newSum += lastNum; } index++; } return newSum == originalNum; } 这种方式判断不也还好吗
点赞 回复 分享
发布于 2023-03-23 15:20 陕西
机考的时候咋查
点赞 回复 分享
发布于 2023-05-20 18:13 浙江
写出算法运行起来也还行 不是很费时间啊
点赞 回复 分享
发布于 08-28 19:14 北京

相关推荐

不愿透露姓名的神秘牛友
10-05 10:13
已编辑
HHHHaos:让这些老登来现在秋招一下,简历都过不去
点赞 评论 收藏
分享
评论
15
4
分享
牛客网
牛客企业服务