完全数就是各因子之和等于其本身,求问各位大神一个c语言编程菜鸟问题。。。求各位大神教我如何编一个函

完全数就是各因子之和等于其本身,求问各位大神一个c语言编程菜鸟问题。。。求各位大神教我如何编一个函数,判断其是不是完全数?非常感谢

给你说个思路吧,穷举。首先是求出这个数所有的因子,算法就用穷举好了,穷举2到这个数-1的值,然后把所有因子加起来算一下就是了

int i,n,sum = 0;
scanf("%d",&n);
for(i = 1;i < n;i++)
{
    if(n % i == 0) 
    sum += i;
}
if(sum == n) printf("该数是……");

还有这个完全数,1到底要不要算进去,我搜了一下网上是算进去的,但是把本身去掉,你自己斟酌下改一下吧。这算法肯定不是最优的 你自己可以考虑一下更优的算法

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-11-10

利用枚举法

#include<stdio.h>

void fun(int n)
{
int sum=0;
int i;
for(i=1;i<n;i++)
{
if(n%i == 0)
sum+=i;
if(sum == n)
{
printf("是完全数\n");
return;
}
}
printf("不是完全数\n");
}

void main()
{
int n;
scanf("%d",&n);
fun(n);
}

第2个回答  2015-11-10
快用读书郎打火机,哪里不会点哪里!
相似回答