2812: 【例46.1】 完全数
内存限制:64 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:8
解决:6
题目描述
一个数如果恰好等于它不包括自身的因子之和,这个数称为"完全数"。 例如,$6$ 的因子为 $1$、$2$、$3$,而 $6=1+2+3$,因此 $6$ 是"完全数"。 编程序找出 $N$ 之内的所有完全数,并按下面格式输出其因子(这里的因子里面,不包含自己)。
输入
输入一个整数 $n$($0\le n\le 1000$)。
输出
形式如:一个整数,然后
its factors are 后面一些整数,具体可参考样例输出? its factors are ? ? ?
样例输入 复制
10
样例输出 复制
6 its factors are 1 2 3
提示
#include<bits/stdc++.h>
using namespace std;
int n;
void check(int x){
int sum=0;
for(int i=1;i<x;i++){
if(x%i==0)sum+=i;
}
if(sum==x){
cout<<x<<" its factors are ";
for(int i=1;i<x;i++){
if(x%i==0)cout<<i<<' ';
}
cout<<endl;
}
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
check(i);
}
return 0;
}