循环~完数
题目描述
一个数如果恰好等于它的因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。 编程序找出N之内的所有完数,并按下面格式输出其因子:
输入
N
输出
? its factors are ? ? ?
1 #include<stdio.h> 2 int main(){ 3 int N; 4 //int sum=0;全局变量出错?? 5 int i,j; 6 scanf("%d",&N); 7 //外循环:做N次循环找N个数中的完数,内循环:找每个数的因子:根据数的不同循环的次数也不同 8 for(i=2;i<=N;i++) 9 { 10 int sum=0; 11 for(j=1;j<i;j++) 12 { 13 if(i%j==0){ 14 sum += j; 15 } 16 } 17 //printf("%d\n",sum); 18 if(i==sum) 19 { 20 printf("%d its factors are",i); 21 for(j=1;j<i;j++){ 22 if(i%j==0){ 23 printf(" %d",j); 24 } 25 } 26 printf("\n"); 27 } 28 } 29 return 0; 30 }
solution:
1 sum变量做全局变量的时候结果输出不了,做循环变量可以正常输出 不理解?
2 因子不等于质因数;因子:能够被本书整除的数就属于因子
3 外循环:做n次循环,找n个数中的完数
第一个内循环:求因子的和
第二个内循环:判断完是否是完数之后,循环输出完数的因子
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程