- 求正整数2和n之间的完全数
来,来财,别老仔
- 2025-6-20 20:03:49 @
#include <iostram>
using namespace std;
bool s(int num) {
if (num <= 1) {
return false;
}
int sum = 1; / 1是所有大于1的数的因子
for (int i = 2; i * i <= num; ++i) {
if (num % i == 0) {
sum += i;
if (i != num / i) {
sum += num / i;
}
}
}
return sum == num;
}
int main() {
int n;
cin >> n
for (int i = 2; i <= n; ++i) {
if (s(i)) {
cout << i << endl;
}
}
return 0;
}
hh,挖了两个坑
专坑某些只会白嫖的人机
3 条评论
-
-
//正确代码
#include <iostream> using namespace std; bool s(int num) { if (num <= 1) { return false; } int sum = 1; for (int i = 2; i * i <= num; ++i) { if (num % i == 0) { sum += i; if (i != num / i) { sum += num / i; } } } return sum == num; } int main() { int n; cin>>n; for (int i = 2; i<=n; ++i) { if (s(i)) { cout << i << endl; } } return 0; }
- 1
信息
- ID
- 152
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- (无)
- 递交数
- 123
- 已通过
- 46
- 上传者