华为OD机试 - 完全数计算(Java 2023 B卷 100分)
目录
- 专栏导读
- 一、题目描述
- 二、输入描述
- 三、输出描述
- 四、Java算法源码
- 五、效果展示
- 六、纵览全局
华为OD机试 2023B卷题库疯狂收录中,刷题点这里
专栏导读
本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷)》。
刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。
一、题目描述
完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。
它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。
例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。
输入n,请输出n以内(含n)完全数的个数。
二、输入描述
输入一个数字n。
三、输出描述
输出不超过n的完全数的个数。
四、Java算法源码
public static void main(String[] args) {Scanner sc = new Scanner(System.in);while (sc.hasNextInt()) {int n = sc.nextInt();int count = 0;for (int i = 1; i <= n; i++) {if (getPerfectNum(i)) {count++;}}System.out.println(count);}
}private static boolean getPerfectNum(int i) {ArrayList<Integer> list = new ArrayList<>();for (int j = 1; j < i; j++) {if (i % j == 0) {list.add(j);}}int sum = 0;for (Integer integer : list) {sum += integer;}return sum == i;
}
五、效果展示
六、纵览全局
遵循“按算法分类,由易到难”的刷题思路。
制定N期7日集训,达到有效刷题,高效刷题,顺序通关的目的。
1、 先了解华为OD机试,是个啥?
2、喜提华为OD算法总纲,运筹帷幄之中决胜千里之外。
🏆下一篇:华为OD机试真题 Java 实现【简易内存池】【2023 B卷 200分 考生抽中题】
🏆本文收录于,华为OD机试(JAVA)真题(A卷+B卷)
刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。