一个数如果恰好等于它的因子之和,这个数就叫做完数.用C语言编程找出1000之内的所有完数

时间:2013.04.09 发布人:bise00

一个数如果恰好等于它的因子之和,这个数就叫做完数.用C语言编程找出1000之内的所有完数

已解决问题

谷歌bise00用户在2013.04.09提交了关于“海洋一个数如果恰好等于它的因子之和,这个数就叫做完数.用C语言编程找出1000之内的所有完数”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2023-11-21T16:22:41。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,你无异于雪中送炭,让我感激涕零 !

希望以下的回答,能够帮助你。

第1个回答

用户名:红色**头cc  

/*一个数恰好等于它的因子之和.6=1+2球会同+3*/
#include<s倒巴料互伤洲突排财tdio.h>/*头文件*/
#defineN1000/*搜索范围在1000以内*/

intmain(intargc,char*ar**[])/*主函数*/
{
inti;/*循环变量*/

for(i=1;i<=N;i++)/*循环找出小于N的所有完问答数并输出其因子.*/
{
if(wanshu(i))print_factor(i);
conti**e;
}
return0;
}/*主函数结放稳也声未交合架久旧束*/

intwanshu吗志知事(intx)/*判断术位乎法行想为征问来编x是否完数*/
{
inti,sum=0;
//intfactor[N]={0};

for(i=1;i<=快刑朝搞志作达罪假续x;i++)/*对所有x的因子木持危说同核概服号求和*/
{
if(x%i==0)振sum=sum+i;
c汽氢段约季逐onti**e;
}

if(sum==x*2)return(1);/*如果求和结果等于2x则x是完数*/
elsereturn(0);/*否则不是完数*/
}/*完数判断函数结束*/

intprint_fa跑督呼考肥群队酒ctor(intx)/*打印结果*/
{
inti,j,res[1000]={0}威胜弦风导抓移黑倒急;/*i,j为循环协权够取变量.res数组记录每个因子.*/

for(i=1;i<x;i++)/*将每个非零因子存在数组res[]中*/
{
if(x%i==0)res[i]=i轮华赵型;
conti**e;
}

printf("%ditsfactorsare:",x);/*打印提示*/

for(j=0;j<x;j++)/*打印每个因子,以逗号相隔.*/
{
if(res[j]雷带亲践样!=0)
{
printf("%d",res[j])更很印安上支技帮述由房;
printf("\,");
}
}
printf("\n");

return(0);
}/*打印函数结束*/