| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3777 人关注过本帖
标题:[讨论]]第十一期编程题目(题目很简单,大家一起来做了)
只看楼主 加入收藏
moonwalker
Rank: 1
等 级:新手上路
威 望:1
帖 子:909
专家分:2
注 册:2007-3-2
收藏
得分:0 
以下是引用crackerwang在2007-4-13 21:06:53的发言:
上次称球的时候,你用信息论论证能否称出来。现在还佩服呢。你应该是学数学的吧。

我提示一下.对于不定方程m*x+n*y=l(x,y是未知的,其他是以知)如果gcd(m.n)不能整除l,就无解.离散数学上的

当然这个题目还有其他的判断方法.


第二个题目怎么没有人做啊?
是不是太简单了?

我是学通信的,没学过离散数学,也没什么编程基础,一个多月前才开始重新学C语言,以前在学校连指针都没学过
现在恶补中。。。


“视频教程网”免费提供教学资源
C不限制你的自由!
条件是自己承担滥用自由的恶果!
2007-04-13 22:20
jiangliangju
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-3-9
收藏
得分:0 
#include"stdio.h"
main()
{ double R,sum=1.0;
int n,i;
while(scanf("%lf %d",&R,&n))
{ if(!(0<=R&&R<=100))
break;
else
{ for(i=1;i<=n;i++)
sum*=R;
}
printf("%lf\n",sum);
sum=1.0;
}
system("pause");
}
这是我写的第二题,但不符合要求,希望大家能指点一下
2007-04-13 23:35
jiangliangju
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-3-9
收藏
得分:0 
我发现我的答案和你提供的答案有点出入,是不是我的机子有问题
2007-04-13 23:37
wuwei168668
Rank: 1
等 级:新手上路
帖 子:154
专家分:0
注 册:2007-3-11
收藏
得分:0 
高手真多!
什么时候我才能象你们那样厉害啊?
羡慕死我了!!!

学C语言难得过老外学用中国的筷子吗?
2007-04-13 23:50
iwfy
Rank: 1
等 级:新手上路
威 望:2
帖 子:888
专家分:0
注 册:2007-2-23
收藏
得分:0 
以下是引用wuwei168668在2007-4-13 23:50:35的发言:
高手真多!
什么时候我才能象你们那样厉害啊?
羡慕死我了!!!

量的累积可以达到质的转变,勤奋好学,日积月累

说的简单,我还做不到,哎


英语不好还想学编程??逆天之路,不由分说!! 数学太差还想学编程??离经叛道,义无返顾!!
2007-04-14 08:53
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 
以下是引用jiangliangju在2007-4-13 23:37:36的发言:
我发现我的答案和你提供的答案有点出入,是不是我的机子有问题

当然会有了.题目要求的精度比你的高.如果R=.12345,N=25,那么精度要到小数点125位.
你采用的浮点数计算是达不到.其次在计算中的浮点树的储存也有有误差的比如说float i=1;
在计算机里它可能是1.000000000007,也有可能是0.99999999995.所以计算误差就更大了


2007-04-14 09:00
yu_hua
Rank: 2
等 级:论坛游民
帖 子:222
专家分:95
注 册:2006-8-10
收藏
得分:0 
9楼的程序已经改过,欢迎大家进行检测,看看还有错误没有?
不失一般性,以下令m>n。我认为如果(x-y)不等于t或t的倍数,
则"impossible",其中t表示(m-n)与L的最大公约数。
2007-04-14 09:23
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 
以下是引用yu_hua在2007-4-14 9:23:52的发言:
9楼的程序已经改过,欢迎大家进行检测,看看还有错误没有?
不失一般性,以下令m>n。我认为如果(x-y)不等于t或t的倍数,
则"impossible",其中t表示(m-n)与L的最大公约数。

答案基本上是对 了.就是速度没有达到1s;
你自己测试一下下面的数据:
1000000000(9个0) 1888888888(9个8) 235 789 1999999999(9个9)
你的输出要等好几秒


2007-04-14 09:58
hertz
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-4-14
收藏
得分:0 
回复:(crackerwang)[讨论]]第十一期编程题目(题目很...

#include"stdio.h"

int main()
{
int x,y,m,n,L;
const int MAX=10000;
int k;

scanf("%d%d%d%d%d",&x,&y,&m,&n,&L);

for(k=0;((x+m*k)%L!=(y+n*k)%L)&&k<MAX;k++);
if(k<MAX)printf("after %d times ,they will meet.\n",k);
else printf("unable to meet.\n");

return 0;
}

2007-04-14 16:58
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 
回楼上,
答案应该对了,不过要是测试,要是用28楼的数据测试可能也要比较长的时间

怎么都不做第二个?
要不把第二个再改一下

2007-04-14 18:32
快速回复:[讨论]]第十一期编程题目(题目很简单,大家一起来做了)
数据加载中...
 
   



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

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