一个数如果恰好等于它的因子之和,这个数称为“完数”,如6的因子为 1,2,3,而1+2+3=6,因此6就是完数 提示: 判断一个数是否是完数,用穷举法:从1~n/2+1 逐个判断是否整除,如果整除则累加 如果累加结果与n 相等,则输出完数n; 如果完数个数为0,则输出NO 类似问题可以做1111号题目
Posted on 2022-11-08 23:19 lachesism 阅读(390) 评论(0) 编辑 收藏 举报输入:
输入一个整数n(0 < n <=1000)
输出:
输出2到n间的所有完数。注:如果有多个,输出在同一行,用空格隔开,如果没有,输出“NO” 。如:输入3 ,输出:NO ;输入8 ,输出:6;输入30,输出:6 28。
#include<stdio.h> main() { int n,i,j,sum=0,s=0; scanf("%d",&n); for(i=2;i<=n;i++) { for(j=1;j<i;j++) { if(i%j==0) { sum+=j; } } if(i==sum) { printf("%d ",i); s++; } sum=0; } if(s==0) { printf("NO"); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?