| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2932 人关注过本帖
标题:[求助][求助][求助][求助]亲和数~
只看楼主 加入收藏
ww84020209
Rank: 1
等 级:新手上路
帖 子:190
专家分:0
注 册:2006-8-21
收藏
得分:0 
他的是数字益出

2006-09-07 22:48
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
是我看错了,自己习惯输入时以空格隔开
您的程序没错,空间开的太大了.

倚天照海花无数,流水高山心自知。
2006-09-07 22:53
ww84020209
Rank: 1
等 级:新手上路
帖 子:190
专家分:0
注 册:2006-8-21
收藏
得分:0 
以下是引用nuciewth在2006-9-7 22:53:45的发言:
是我看错了,自己习惯输入时以空格隔开
您的程序没错,空间开的太大了.

什么编译器啊?这么NB,1,10000输成1 10000也能运行啊


2006-09-07 22:57
cwande
Rank: 2
等 级:新手上路
威 望:3
帖 子:333
专家分:0
注 册:2006-8-18
收藏
得分:0 
以下是引用nuciewth在2006-9-7 22:53:45的发言:
是我看错了,自己习惯输入时以空格隔开
//偶是直接copy ww84020209的输入格式的,你要怪应该怪他
您的程序没错,空间开的太大了.
//寒,为什么每个人都这样说呢,int f[500000];不会大嘛...................


汗,都懒得写代码了.......... cheat了一个威望,哈.....
2006-09-07 22:59
ww84020209
Rank: 1
等 级:新手上路
帖 子:190
专家分:0
注 册:2006-8-21
收藏
得分:0 
int f[500000];
也就2M而已,相对于256M的内存,也不算大哦

2006-09-07 23:08
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用ww84020209在2006-9-7 23:08:57的发言:
int f[500000];
也就2M而已,相对于256M的内存,也不算大哦

但系统开出的缓冲区空间并不大


倚天照海花无数,流水高山心自知。
2006-09-08 10:33
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

/*对上次程序的一些改进,效率提高的可以让人忍受了,虽然还不及他的程序,大家试试*/
#include <stdio.h>

int is_right(int num1)
{
int i=2,sum=1;
while(i*i<num1)
{
if(num1%i==0)
{
sum+=i;
sum+=num1/i;
}
i++;
}
return(sum);
}


int main()
{
int x,y,i,t,count=0;

printf("请输入两个不相等的数x,y:");
scanf("%d%d",&x,&y);
if(x>y)
{
t=x;
x=y;
y=t;
}
for(i=x;i<y;i++)
{
t=is_right(i);
if(t>i&&is_right(t)==i)
{
count++;
printf("第%d个亲和数对是:<%d,%d>\n",count,i,t);
}
}
if(count==0)
{
printf("在%d和%d之间没有亲和数对!\n",x,y);
}

return(0);
}


倚天照海花无数,流水高山心自知。
2006-09-08 10:45
ww84020209
Rank: 1
等 级:新手上路
帖 子:190
专家分:0
注 册:2006-8-21
收藏
得分:0 

int is_right(int num1)
{
int i=2,sum=1;
while(i*i<num1) //这个有点问题哦(如果num1为平方数时)
{
if(num1%i==0)
{
sum+=i;
sum+=num1/i;
}
i++;
}
return(sum);
}


2006-09-08 14:34
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用ww84020209在2006-9-8 14:34:46的发言:

int is_right(int num1)
{
int i=2,sum=1;
while(i*i<num1) //这个有点问题哦(如果num1为平方数时)
{
if(num1%i==0)
{
sum+=i;
sum+=num1/i;
}
i++;
}
return(sum);
}


你会让它加上两个相同的数吗


倚天照海花无数,流水高山心自知。
2006-09-08 21:29
ww84020209
Rank: 1
等 级:新手上路
帖 子:190
专家分:0
注 册:2006-8-21
收藏
得分:0 
[QUOTE]

你会让它加上两个相同的数吗

[/QUOTE]
那你也不能一个也不加啊

2006-09-09 20:13
快速回复:[求助][求助][求助][求助]亲和数~
数据加载中...
 
   



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

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