1020·两重for循环2(完美数)

来源:互联网 发布:mac相册里照片如何删除 编辑:程序博客网 时间:2024/05/24 03:40

1020: 两重for循环2(完美数)

时间限制: 1 Sec 内存限制: 128 MB
题目描述
【题意】
什么是完美数?一个数的所有真约数的和等于自己就是完美数。
比如:
6的真约数有1、2、3,且这些真约数加起来1+2+3等于6;
又比如:28
28的真约数有1、2、4、7、14,它们加起来还是等于28。
【输入格式】
输入两个整数x和y(1<=x<=y<=10000)。
【输出格式】
输出x~y(包含x和y)的所有完美数。一行一个,从小到大。
【样例输入】
1 100
【样例输出】
6
28

先枚举每一个数,再枚举该数的真约数(小于该数)在判断加起来之和为自己,如果是则输出。

#include<iostream>#include<cstdio>using namespace std;int main(){    int x,y;    scanf("%d%d",&x,&y);    for(int i=x;i<=y;i++){        int s=0;        for (int j=1;j<i;j++){            if (i%j==0){                s+=j;            }                   }        if (s==i) printf("%d\n",s);    }    return 0;}
原创粉丝点击