本文主要是介绍C语言:一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如6=1+2+3。编程找出1000以内的所有完数。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
分析:
在主函数 main 中,程序首先定义三个整型变量 m、s 和 i,并用于计算和判断完数。然后使用 printf 函数输出提示信息。
接下来,程序使用 for 循环结构,从 2 到 999 遍历所有的数。对于每个遍历到的数 m,程序将变量 s 初始化为 0。
然后,程序使用另一个 for 循环结构,从 1 到 m-1 遍历所有小于 m 的数。对于每个遍历到的数 i,程序通过 if 条件判断语句,判断 i 是否是 m 的因子(即 m 能被 i 整除)。如果判断为真,就将 i 加到 s 中。
在第一个 for 循环结束后,程序通过 if 条件判断语句,判断 s 是否等于 m。如果判断为真,即 s 等于 m,说明 m 是完数。此时,程序使用 printf 函数输出该完数,并使用第三个 for 循环输出该完数的因子。
最后,程序使用 printf 函数输出换行符,表示输出结束。
代码:
#include<stdio.h>
int main()
{int m,s,i;for(m=2;m<1000;m++){s=0;for(i=1;i<m;i++)if((m%i)==0) s=s+i;if(s==m){printf("%d,its factors are",m);for(i=1;i<m;i++)if(m%i==0) printf("%d ",i);printf("\n");}}return 0;
}
运行结果:
这篇关于C语言:一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如6=1+2+3。编程找出1000以内的所有完数。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!