【问题描述】
对于一个正整数,如果它和除了它自身以外的所有正因子之和相等,我们称它为“完美数“。
给定一个整数 n, 如果是完美数,返回 true,否则返回 false
【输入形式】
输入一行一个正整数n
【输出形式】
如果n是完美数,返回 true,否则返回 false
【样例输入】
28
【样例输出】
true
【样例说明】
28 = 1 + 2 + 4 + 7 + 14 1, 2, 4, 7, 和 14 是 28 的所有正因子。
#include <iostream>
using namespace std;
int main(){
int n,sum=0;
cin>>n;
for (int i=1;i<n;i++){
if (n%i==0){
sum+=i; //如果满足条件就累加
}
}
if (sum==n){
cout<<"true"; //输出的是字符true,不是直接true,不然会显示1
}
else cout<<"false";
return 0;
}