题目描述
请判断正整数n是否为完数。已知一个数如果恰好等于除它本身外的所有因子之和,这个数就称为完数。此程序要求编写函数bool wanshu(int n),判断n是否为完数,若n是,则函数返回true;否则返回false。然后主函数通过该函数的返回值,在屏幕上输出判断结果。
输入描述
输入一个正整数n。
输出描述
若n是完数,则输出"yes";否则输出"no"。
输入样例
28
输出样例
yes
#include <iostream>
using namespace std;
bool wanshu(int n){
int i, s=0;
for(i = 1; i < n; i++){
if(n % i == 0){
s += i;
}
}
if(s == n){
return 1;
} else {
return 0;
}
}
int main(){
int n;
cin >> n;
if(wanshu(n)){
cout << "yes" << endl;
} else {
cout << "no" << endl;
}
}