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