ACM&完数
完数
- 题目描述:
-
求1-n内的完数,所谓的完数是这样的数,它的所有因子相加等于它自身,比如6有3个因子1,2,3,1+2+3=6,那么6是完数。即完数是等于其所有因子相加和的数。
- 输入:
-
测试数据有多组,输入n,n数据范围不大。
- 输出:
-
对于每组输入,请输出1-n内所有的完数。如有案例输出有多个数字,用空格隔开,输出最后不要有多余的空格。
- 样例输入:
-
6
- 样例输出:
-
6
http://ac.jobdu.com/problem.php?pid=1050main.cpp1 #include <iostream> 2 3 using namespace std; 4 5 int main() 6 { 7 int n, i, j, sum,tag; 8 while(cin>>n) { 9 tag=0; 10 for(i=6; i<=n; i++) { 11 sum=0; 12 for(j=1; j<=(i/2)&&sum<=i; j++) 13 if(i%j==0) sum+=j; 14 if(sum==i){ 15 if(tag==0) {cout<<i; tag=1;} 16 else cout<<" "<<i; 17 } 18 } 19 cout<<endl; 20 } 21 return 0; 22 }
posted on 2013-03-12 23:21 Zachary_wiz 阅读(386) 评论(0) 编辑 收藏 举报