0
点赞
收藏
分享

微信扫一扫

C++ 判断完数

老榆 2022-06-01 阅读 93

题目描述

请判断正整数n是否为完数。已知一个数如果恰好等于除它本身外的所有因子之和,这个数就称为完数。此程序要求编写函数bool wanshu(int n),判断n是否为完数,若n是,则函数返回true;否则返回false。然后主函数通过该函数的返回值,在屏幕上输出判断结果。

输入描述

输入一个正整数n。

输出描述

若n是完数,则输出"yes";否则输出"no"。

输入样例

28

输出样例

yes

#include <iostream>

using&nbsp;namespace&nbsp;std;

bool&nbsp;wanshu(int&nbsp;n){
&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i,&nbsp;s=0;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;for(i&nbsp;=&nbsp;1;&nbsp;i&nbsp;&lt;&nbsp;n;&nbsp;i++){
&nbsp;&nbsp;&nbsp;&nbsp; if(n&nbsp;%&nbsp;i&nbsp;==&nbsp;0){
&nbsp;&nbsp;&nbsp;&nbsp; s&nbsp;+=&nbsp;i;
}
}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;if(s&nbsp;==&nbsp;n){
&nbsp;&nbsp;&nbsp;&nbsp; return&nbsp;1;&nbsp;
}&nbsp;else&nbsp;{
return&nbsp;0;
}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}

int&nbsp;main(){
&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;n;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;cin&nbsp;&gt;&gt;&nbsp;n;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;if(wanshu(n)){
&nbsp;&nbsp;&nbsp;&nbsp; cout&nbsp;&lt;&lt;&nbsp;&quot;yes&quot;&nbsp;&lt;&lt;&nbsp;endl;
}&nbsp;else&nbsp;{
cout&nbsp;&lt;&lt;&nbsp;&quot;no&quot;&nbsp;&lt;&lt;&nbsp;endl;
}
}


举报

相关推荐

0 条评论