求N以内的所有完数
/* * Copyright (c) 2016, 安徽大学计算机科学与技术学院 * All rights reserved. * 作 者: 杨磊 * 完成日期:2016 年 12 月 27 日 * 问题描述:一个数如果恰好等于它的因子之和, 则这个数称为“完数”。 如6的因子为1,2,3,而6=1+2+3。 现在求N以内所有完数。 */ #include<cstdio> #include<algorithm> #include<stdlib.h> #include<iostream> #include<math.h> #include<string.h> using namespace std; int main(){ int i,n,j,s; while(scanf("%d",&n)!=EOF){ for(i=1;i<n;i++){ s=0; for(j=1;j<i;j++) if(i%j==0) s+=j; if(s==i) printf("%d\n",i); }} return 0;}