寻找完全数(C++)
2024-10-19 12:32:24
【问题描述】
输入一个大于 1 的正整数 n,请你将大于 1 和小于或等于 n 的所有完全数输出。所谓完全数就是因子(不算其本身)之和等于它本身的数。例如 1+2+4+7+14=28,所以 28 是完全数。如果有多个完全数,每两个完全数之间用一个空格隔开,如果没有,请输出 0 。
【代码展示】
# include<iostream>
using namespace std;
int main(){
int n,s;
cin >> n;
for(int i=2;i<=n;i++){
s=0;
// 计算i因数的和
for(int j=1;j<=i/2;j++){
// 判断i是不是合数
if(i%j==0){
s += j;
}
}
// 注意if的位置
if(s==i){
cout << i << " ";
}
}
return 0;
}
最新文章
- HashMap
- 前N个自然数的随机置换
- oracle 所有下级
- [ADO.NET]写入数据
- Linux如何生成列表
- 【转】关于ios10中ATS的问题
- jmeter从外部文件取值问题,如果文件中的参数值为纯数字形式的,jmeter会默认将其识别成int型数据
- CSS3秘笈复习:第六章
- Json,Gson,Ajax基础知识
- 突破瓶颈,再出发 - PM过程能力成熟度5级
- Problem 5: Smallest multiple
- RobotFramework + Appium 移动自动化实现
- Linux下高并发socket最大连接数各种限制的调优
- 2018.11.07 NOIP训练 L的鞋子(权值分块+莫队)
- 用C++实现一个Brainfuck解释器
- vim快速指南
- C++ 指向数组的指针
- ora-4031错误
- 优美的代码:do...while(0)
- 自定义View实现钟摆效果进度条PendulumView