华为OD机试 2024E卷题库疯狂收录中,刷题 点这里

实战项目访问:http://javapub.net.cn/

专栏导读

本专栏收录于 《华为OD机试(JAVA)真题(E卷+D卷+A卷+B卷+C卷)》

刷的越多,抽中的概率越大,私信javapub,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新,全天CSDN在线答疑。


完全数计算

完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。

输入n,请输出n以内(含n)完全数的个数。

数据范围: 1≤n≤5×10^5

输入描述:

输入一个数字n

输出描述:

输出不超过n的完全数的个数

示例1

输入
1000
输出
3

Java 编程

package cn.net.javapub.javaintroduction.example;

/**
 * @author: shiyuwang
 * @url: http://javapub.net.cn
 */

import java.io.*;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str = "";
        while((str = br.readLine())!=null){
            System.out.println(conut(Integer.valueOf(str)));
        }
    }

    public static int conut(int n){
        if(n<6){
            return 0;
        } else if(n<28){
            return 1;
        }else if(n<496){
            return 2;
        } else if(n<8128){
            return 3;
        } else if(n<33550336){
            return 4;
        } else {
            return -1;
        }
    }
}

展示效果:

华为OD机试 - 完全数计算 (Java 2024 E卷 100分)_java

🏆下一篇: 华为OD机试 - 挑7 (Java 2024 E卷 100分) 🏆本文收录于, 搬砖工逆袭Java架构师

刷的越多,抽中的概率越大,私信javapub,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新,全天CSDN在线答疑。

华为OD机试 - 完全数计算 (Java 2024 E卷 100分)_华为od_02