题目描述
一个整数,除了本身以外的其他所有约数的和如果等于该数,那我们就称这个整数为完全数。
例如,6就是一个完全数,因为它的除了本身以外的其他约数的和为 1+2+3=6
现在,给定你 N 个整数,请你依次判断这些数是否是完全数
样例
输入样例:
3
6
5
28
输出样例:
6 is perfect
5 is not perfect
28 is perfect
运算超时
算法1
C++ 代码
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int a;
for(int j=1;j<=n;j++)
{
cin>>a;
int s=0;
for(int i=1;i<a;i++)
{
if(a%i==0) s+=i;
else continue;
}
if(s==a) cout<<a<<" is perfect"<<endl;
else cout<<a<<" is not perfect"<<endl;
}
return 0;
}