请教高手“完数”怎么求啊!

tyranter 2009-03-15 05:41:18
完数的算法思想啊,急急急!!!
1000以内得完数用程序输出!
...全文
161 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tyranter 2009-03-17
  • 打赏
  • 举报
回复
谢谢各位大虾!受教!!!...
feng4206yu 2009-03-15
  • 打赏
  • 举报
回复

#include "stdio.h"
#include "conio.h"

int main()
{
int n, m, sum;

for (n = 1; n <= 1000; n++)
{
sum = 0;

for (m = 1; m <= n / 2; m++)
if (n % m == 0)
sum += m;

if (n == sum)
{
printf("%d its factors are", n);
for (m = 1; m <= n / 2; m++)
if (n % m == 0)
printf("%d,", m);
printf("\b \n");
}
}

getch();

return 0;
}

  • 打赏
  • 举报
回复
http://download.csdn.net/source/469495
懒得很,去下载吧
hb0800092 2009-03-15
  • 打赏
  • 举报
回复
#include<stdio.h>
int main()
{
int i,sum;
for (i = 2; i < 10000; i++)
{
sum = 0;
for (int j = 1; j <= i/2; j++)
{
if (i%j == 0)
sum += j;
}
if (sum == i)
printf("%d ",i);
}
return 0;
}
t1397018 2009-03-15
  • 打赏
  • 举报
回复

#include<stdio.h>
#define N 1000
void main()
{
int i,yz,count=0;
for(i=2;i<=N;i++)
{
for(yz=1;yz<=(i/2+1);yz++)
{
if(i%yz==0)
count+=yz;
}
if(count==i)
printf("%d\n",i);
count=0;
}
}
magipan 2009-03-15
  • 打赏
  • 举报
回复
弄个函数求一个数的因子之和
int fun1(int a)
{
int sum=0,i;
for(i=1;i<=a/2;i++)
{
if(a%i==0)
{
sum+=i;
}
}
return sum;
}
rookie001 2009-03-15
  • 打赏
  • 举报
回复
没时间想...帮你找了个...再用一个循环...逐个判断并输出就好了~~
rookie001 2009-03-15
  • 打赏
  • 举报
回复
bool iscomdata(int nValue)
{
int i;
int nCount = 1;
int nHalf = (nValue+2)/2;

for(i=2;i<nHalf;i++)
{
if(nValue%i==0)
nCount+=i;
}
if(nCount==nValue)
return true;
return false;
}

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧