| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 325 人关注过本帖
标题:[求助]怎么求不出来呢
只看楼主 加入收藏
天涯狂少
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-8-10
收藏
 问题点数:0 回复次数:4 
[求助]怎么求不出来呢
一个求完数的题,完数等于各因子之和,如6=1+2+3,求1000内完数
我的编译通过了,怎么就算不出呢?

main()
{
int s,i;
printf ("\n");
for (i=0;i<10;i++)
{
s=sum(i);
if(s==i)
printf("%d\n",i);
}
}
int sum(int x)
{
int j,s=0;
while (x>1)
for(j=1;j<=x;j++)
if (x%j==0)
{
x=x/j;
s=s+j;
break;
}
return (s);
}
2007-08-10 18:32
liulanghan
Rank: 1
等 级:禁止访问
帖 子:104
专家分:0
注 册:2007-5-5
收藏
得分:0 
for (i=num1;i<=num2;i++)
{
sum=1;
for(d=2;d<=((int)sqrt(i));d++)
{
if (i%d==0)
{
sum=sum+d+i/d;
}
}
if (sum==data)
printf("%d is a wanshu\n", i);
}
2007-08-10 18:47
天涯狂少
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-8-10
收藏
得分:0 
哇! 这么简单的算法!
佩服!!
谢了啊
帮我看下为什么我的就出不来呢?
2007-08-10 19:00
liulanghan
Rank: 1
等 级:禁止访问
帖 子:104
专家分:0
注 册:2007-5-5
收藏
得分:0 

帮你改了下你的程序,你对比着看下,错误自己领会,不懂的再发贴吧
#include <stdio.h>
int sum(int x);

main()
{
int s,i;
for (i=2;i<10;i++)
{
s=sum(i);
if(s==i)
printf("%d\n",i);
}
}

int sum(int x)
{
int j,s=1;
for(j=2;j<=x/2;j++)
{
if (x%j==0)
{
s=s+j;
}
}
return (s);
}

2007-08-10 19:24
天涯狂少
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-8-10
收藏
得分:0 
恩 谢了
2007-08-10 19:37
快速回复:[求助]怎么求不出来呢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014352 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved