2024级程序设计基础将其中考试暨新生赛-E判断完数

链接:https://ac.nowcoder.com/acm/contest/95677/E链接:https://ac.nowcoder.com/acm/contest/95677/E

来源:牛客网

题目描述

由键盘输入一个整数n,判断其是否为完数。

例如,28的因子为1、2、4、7,14,而28=1+2+4+7+14。因此28是“完数”。(注意:1不算完数)

输入描述:

输入为一个整数n,范围为(1≤n≤10000)。

输出描述:

若n是完数输出YES,否则输出NO,输出后有换行。

做这道题时要注意审题,题中说完数是自己所有除了本身以外的因子,使用循环时要去掉n,使循环 for(i=1;i<n;j++) 而不是i<=n,

还有就是1不是完数,最后要把它排除。

#include<iostream>

using namespace std;

int main()

{

long n;

cin>>n;

int c=0;

for(int i=1;i<n;i++){

if(n%i==0){c+=i;}

}

if(c==n&&n!=1){

cout<<"YES"<<endl;

}

else{

cout<<"NO"<<endl;

}

return 0;

}

全部评论

相关推荐

10-19 11:19
客户端其它
美团 测试开发 21*15.5 硕士211
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务