| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 12744 人关注过本帖
标题:PK赛第一期[N!连加][级别:中级](考虑期末考试,延期至7月21日结束)
取消只看楼主 加入收藏
Joforn
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1242
专家分:122
注 册:2007-1-2
收藏
得分:0 
我五、六年没有考试了,哪还记得什么时候考啊?只记得一般是九月一号左右开学。

VB QQ群:47715789
2007-06-30 22:42
Joforn
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1242
专家分:122
注 册:2007-1-2
收藏
得分:0 
vbc缘子弹做得也相当的不错。
不过vbc的好像计算N=1000时会产生溢出错误(但N<=200时不会出错,所以已经符合题目要求),如果可能话建议你还是一下--改成使用不定长数组的话可能会好一点。
缘子弹的速度似乎比较慢,而且也没得Email源码到指定邮箱,所以不知道你的代码哪些地方可以修改,建议你加强一下算法。
xz3501的未达到到题目要求,还需进一步努力。
就目前各参赛作品为止以xlin1033xl的速度最快。

当前各参赛作品速度对比:
   示例(不是参赛作品,仅作比较)  xlin1033xl   vbc     缘子弹   xz3501
N=200 0.035秒 0.131秒 0.551秒  1.453秒    出错
N=1000 0.481秒 7.814秒 出错   137.656秒    出错 

最后给大家一点提醒:代码可读性和程序安全性也是本题的评分准则,程序界面虽不是本题的必要条件,但也会作为评分的参考(大家要界面好像都是仿示例界面?除了示例中的窗口限制了最小尺寸还未被仿造)。

[此贴子已经被作者于2007-7-1 8:44:42编辑过]


VB QQ群:47715789
2007-06-30 23:35
Joforn
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1242
专家分:122
注 册:2007-1-2
收藏
得分:0 
以下是引用缘子弹在2007-7-1 1:31:53的发言:
Joforn师兄,源代码已经发到你的指定邮箱了!

源码已收到,但下次请把整个工程打包发送至邮箱,还有就是如果发送多次,请以版本号来区分。如缘子弹_001_B_1、缘子弹_001_B_2
还有你的算法耗时较长是因为你每次都运行了一次接1乖,你可以考虑使用49#所说的算法。

[此贴子已经被作者于2007-7-1 9:26:38编辑过]


VB QQ群:47715789
2007-07-01 08:47
Joforn
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1242
专家分:122
注 册:2007-1-2
收藏
得分:0 
以下是引用随风逐流在2007-7-1 17:24:11的发言:
我放弃了!
我的程序计算结果和斑竹一般,没有误差。但是速度超慢!!
而且我的算法我也已经改进不了,恐怕是错了。

49楼可以?我的跟他类似。我想过了,运行时间估计差不了多少。肯定没有斑竹快
而且数越大 时间差越明显

  你即然已经做出来了为何不参赛呢?重要参与,论坛开出PK赛活动为的就是让大家在不断修改程序中累积经验。自己在调试程序时所学到的经验是在书上学不到的。
  我做的只是个示例,是不参赛的,示例题只是我看到出题一个星期都没动静才自己先做个放上来的,目的只是为了激励大家。


VB QQ群:47715789
2007-07-01 19:14
Joforn
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1242
专家分:122
注 册:2007-1-2
收藏
得分:0 
速度不错,但未加分隔符,还要进一步修改。

VB QQ群:47715789
2007-07-01 22:54
Joforn
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1242
专家分:122
注 册:2007-1-2
收藏
得分:0 
两个人在这灌水?

VB QQ群:47715789
2007-07-01 23:22
Joforn
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1242
专家分:122
注 册:2007-1-2
收藏
得分:0 
这个题的本意就是要让你们熟悉数值存储方式和数组使用。
其实如果学过汇编如何处理大数这个问题根本就不成问题了,因为汇编里的AH、AL组成AX、EAX,这个就是最好的实例。只要稍加扩充就可以无限接近无穷大(具体最大能取多大的值就要看系统的能分配的内存有多大了)

VB QQ群:47715789
2007-07-01 23:29
Joforn
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1242
专家分:122
注 册:2007-1-2
收藏
得分:0 
以下是引用南宫飘雪在2007-7-2 15:53:26的发言:
所有人的作品我都试过,确时是vbc的最快

只能说是到目前为止,我期待计算速度更快的作品出现

仔细检查过vbc的源码,其中忽略了部分数据精确性,在某此情况下可能会出现答案不正确,建议仔细验证算法,如果为了追求速度而丢失数据正确性的话那是不值得的。当然,如果验证所以情况下都没问题的话,那自然不用重写算法了。

[此贴子已经被作者于2007-7-2 16:04:09编辑过]


VB QQ群:47715789
2007-07-02 16:03
Joforn
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1242
专家分:122
注 册:2007-1-2
收藏
得分:0 
以下是引用vbc在2007-7-2 19:25:37的发言:

请问你们用来计算程序运行时间的方法是怎么样的??

在113楼(第8页中)有计算时间的代码,如果你想获得比较精确的运行时间值的话,你可以加进自己的代码中。


VB QQ群:47715789
2007-07-02 23:10
Joforn
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1242
专家分:122
注 册:2007-1-2
收藏
得分:0 

已经很全了
'******************************************************************************************************
Private Declare Function QueryPerformanceCounter Lib "kernel32" (lpPerformanceCount As Currency) As Long
Private Declare Function QueryPerformanceFrequency Lib "kernel32" (lpFrequency As Currency) As Long

'这两段API声明放在代码的最顶端
'*******************************************************************************************************

'*******************************************************************************************************
Dim mcurFreq As Currency, curCounter1 As Currency, curCounter2 As Currency '系统高精度计数器频率
QueryPerformanceFrequency mcurFreq
QueryPerformanceCounter curCounter1'
取得开始时间
'这段代码放在开始计时的代码前
'********************************************************************************************************
'这里是函数处理代码(你的计算代码和输出代码放在这里)
'********************************************************************************************************

QueryPerformanceCounter curCounter2 '取得结束时间

'精确到毫秒
If mcurFreq <> 0 Then'支持高精度计数
curCounter2 = (curCounter2 - curCounter1) / mcurFreq
Else'不支持
curCounter2 = curCounter2 - curCounter1
End If

'**********************************************************************************************************
'在这里输出curCounter2就行了,其值就是你处理数据的函数所耗时间,建议用Format(curCounter2,"#0.000") & "秒"输出,这样直观一些


VB QQ群:47715789
2007-07-02 23:30
快速回复:PK赛第一期[N!连加][级别:中级](考虑期末考试,延期至7月21日结束)
数据加载中...
 
   



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

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