华为od机试2025B卷新题【完全数计算】C++ 实现

目录

题目

思路

Code


题目

完全数,又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)之和恰好等于它本身。

现在,你需要计算 1 到 n之间完全数的个数。

输入描述:
输入一个整数 n(1≦n≦5×10^5)

输出描述:
输出一个整数,代表区间内完全数的个数。

示例1
输入:

1000
输出:

3

说明:

第一个完全数是 6,因为 6 的约数有 1,2,3,6,去除本身后,剩余约数之和为 1+2+3=6。

第二个完全数是 28,因为 28 的约数有 1,2,4,7,14,28,去除本身后,剩余约数之和为 1+2+4+7+14=28

第二个完全数是 496。

思路

两个for循环就搞定了,主要就是实现一下其中的逻辑即可【约数相加等于其本身】。

Code

#include <iostream>
using nam
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MISAYAONE

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值