OJ_1050
来源:互联网 发布:中国古代知乎 编辑:程序博客网 时间:2024/05/21 04:18
#include <iostream>#include <stdlib.h>using namespace std;bool isPer(int n){ int sum=0; for(int i=1;i<=n/2;i++) { sum+=n%i==0?i:0; } if(sum==n)return true; return false;}void func(){ int n; while(cin>>n) { bool flag=false;// false means first for(int i=1;i<=n;i++) { if(isPer(i)){ if(flag) cout<<" "<<i; else{ cout<<i; flag=true;} } } cout<<endl; } }int main(int argc, char *argv[]){ //printf("Hello, world\n");func();return 0;}
取模累加求和
- 题目描述:
求1-n内的完数,所谓的完数是这样的数,它的所有因子相加等于它自身,比如6有3个因子1,2,3,1+2+3=6,那么6是完数。即完数是等于其所有因子相加和的数。
- 输入:
测试数据有多组,输入n,n数据范围不大。
- 输出:
对于每组输入,请输出1-n内所有的完数。如有案例输出有多个数字,用空格隔开,输出最后不要有多余的空格。
- 样例输入:
6
- 样例输出:
6
0 0