目录
- 专栏导读
- 一、题目描述
- 二、输入描述
- 三、输出描述
- 四、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在线答疑。