- 题目描述:
-
求1-n内的完数,所谓的完数是这样的数,它的所有因子相加等于它自身,比如6有3个因子1,2,3,1+2+3=6,那么6是完数。即完数是等于其所有因子相加和的数。
- 输入:
-
测试数据有多组,输入n,n数据范围不大。
- 输出:
-
对于每组输入,请输出1-n内所有的完数。如有案例输出有多个数字,用空格隔开,输出最后不要有多余的空格。
- 样例输入:
-
6
- 样例输出:
-
6
- 答疑:
解题遇到问题?分享解题心得?讨论本题请访问:http://t.jobdu.com/thread-7774-1-1.html
#include <iostream> using namespace std; int main() { int m,j,i,a[1000],kk; while(cin>>m) { kk=0; for(j=1;j<=m;j++) { int k=0; for(i=1;i<j;i++) { if((j%i)==0) k=k+i; } if(k==j) a[kk++]=j; } for(i=0;i<kk;i++) { if(i!=0) cout<<" "; cout<<a[i]; } cout<<endl; } return 0; } /************************************************************** Problem: 1050 User: vhreal Language: C++ Result: Accepted Time:230 ms Memory:1520 kb ****************************************************************/
时间: 2024-10-16 22:50:54