社区
VFP
帖子详情
高分求算法!!!
lz_zxf
2003-04-29 01:17:42
一个表顺序固定,要求算出这个表中相邻10条记录的金额的最大.
我只知道穷举,有没有更好的办法?谢谢
...全文
52
55
打赏
收藏
高分求算法!!!
一个表顺序固定,要求算出这个表中相邻10条记录的金额的最大. 我只知道穷举,有没有更好的办法?谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
55 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
marki
2003-05-02
打赏
举报
回复
OK,謝謝你給我指出不足,我以後作東西時
要多繃一根弦了~
sbw
2003-05-02
打赏
举报
回复
早上对你的程序进行了测试,结果如下:
1000 0.126
10000 0.700
100000 6.845
1000000 70.394
顺便测试了一千万条记录的时间:
我的:213.412秒
你的:718.628秒
这是在同一机器上测得的结果,我不否认你的机器比我的要快,对于程序来说在同一机器上运行比较才具有可比性。
另:不要再说我的程序有问题了,因为我的程序的结果和你程序的结果是一样的,如果否认我的结果,那就等于否认了你自己的结果了。当然我的程序不是一点问题没有,比如:没有考虑到删除的记录,或记录少于10便会出错,如果全部记录为很大的负数(超过程序里的:max=-999999这个数)程序也会有问题(当然你的程序里也有同样的问题)。
希望以后多指教。
marki
2003-05-01
打赏
举报
回复
*// 真是粗心,這下無毛病,測試了一下,
*// 速度也挺快,1百萬條絕對30秒內:)
m.testnum=1000000 && 測試記錄數
CREATE CURSOR tB (qty N (5))
FOR i=1 TO m.testnum
INSERT INTO tB (qty) VALUES (RAND()*100000)
NEXT
SELECT * FROM tB INTO CURSOR tB1
m.maxnum = _TALLY
*//上面的語句主要是排除帶刪除標記
*//的記錄,這樣它的記錄序號就不會有
*//問題了
s1=second()
a=0
b=0
x=1
SELECT tB1
GO TOP
SCAN
IF m.maxnum-x = 9
EXIT
ENDIF
FOR i=1 TO 10
a=a+qty
SKIP
NEXT
IF a>b
b=a
c=recno()-10
ENDIF
SKIP -10
a=0
x=x+1
SELECT tB1
ENDSCAN
SELECT tB1
? "查找到記錄號為:"+STR(c)+"及後9條記錄和符合要求!"
? "最大和為:"+STR(b)
LOCATE FOR RECNO()=c
s2=second()
? "測試記錄為:"+PADL(m.testnum,8,' ')+"條"
? "共耗時:"+STR(s2-s1,12,4)+"秒"
sbw
2003-05-01
打赏
举报
回复
明天见,呵呵。
marki
2003-05-01
打赏
举报
回复
呵~睡個好覺~
sbw
2003-05-01
打赏
举报
回复
我等着你。
另:多谢指教。
:)
sbw
2003-05-01
打赏
举报
回复
你把我的程序注释一下如何?
marki
2003-05-01
打赏
举报
回复
你這樣處理不行,我看到了,不能解決問題
sbw
2003-05-01
打赏
举报
回复
对于你的第二个程序:
m.testnum=1000000 && 測試記錄數
CREATE CURSOR tB (qty N (5))
FOR i=1 TO m.testnum
INSERT INTO tB (qty) VALUES (RAND()*100000)
NEXT
SELECT * FROM tB INTO CURSOR tB1
m.maxnum = _TALLY
*//上面的語句主要是排除帶刪除標記
*//的記錄,這樣它的記錄序號就不會有
*//問題了
s1=second()
a=0
b=0
x=1
SELECT tB1
GO TOP
SCAN
IF m.maxnum-x = 9
EXIT
ENDIF
FOR i=1 TO 10
a=a+qty
SKIP
NEXT
IF a>b
b=a
c=recno()
ENDIF
SKIP -10
b=IIF(a>b,a,b)
a=0
x=x+1
SELECT tB
ENDSCAN
SELECT tB1
? "查找到記錄號為:"+STR(c)+"的記錄符合要求!"
LOCATE FOR RECNO()=c
s2=second()
? "測試記錄為:"+PADL(m.testnum,8,' ')+"條"
? "共耗時:"+STR(s2-s1,12,4)+"秒"
对于你程序中考虑到没有删除的记录,我表示佩服,我确实没有考虑这一点,对于你的程序我没有时间去研究,今晚喝(酒)得有点过了。对不起。明天我会分析的。
sbw
2003-05-01
打赏
举报
回复
你在我的程序里的do while 之前是什么?你再看看。
marki
2003-05-01
打赏
举报
回复
用for 來累加是要在現有記錄號上遞增的
求和完畢後,需返回之前記錄,再求和!
marki
2003-05-01
打赏
举报
回复
你這個程序沒有問題!
注意:
你在這是用的匯總函數
calc sum(number) to b for recno()>0.and.recno()<11
而之前程序是
do while 外層遞增
for 在裡層遞增
導致什麼,你想想
我在程序中用到了 skip-10,外層我用scan
sbw
2003-05-01
打赏
举报
回复
我把另外的一个程序也贴出来吧,你看看。
sec=seconds()
set talk off
close all
use b1
a=recc()
jlh=0
calc sum(number) to b for recno()>0.and.recno()<11
for i=1 to a-9
calc sum(number) to c for recno()>i.and.recno()<i+11
if c>b
jlh=i+1
b=c
endif
endfor
?jlh
?seconds()-sec
marki
2003-05-01
打赏
举报
回复
從你上面的程序是看不到這一點的
sbw
2003-05-01
打赏
举报
回复
对于1-10,2-11这个已经考虑在内了。而不是1-10.11-20.
marki
2003-05-01
打赏
举报
回复
你的思路和我不一樣,和樓主也有差別哦~
sbw
2003-05-01
打赏
举报
回复
因为在解决这个问题的时候我另外编制了一个穷举的另一个程序,而两个程序的结果是一样的。
marki
2003-05-01
打赏
举报
回复
仔細看看吧,你每10求和時,記錄有回復嗎,
你的程序只能這樣
1-10,11-20...
而不是
1-10,2-11,...
sbw
2003-05-01
打赏
举报
回复
没有问题,我已验证过。
marki
2003-05-01
打赏
举报
回复
最後一個,才是正確的,呵~
加载更多回复(35)
基于python的群体智能优化
算法
智能
算法
库源码(
高分
课设).zip
基于python的群体智能优化
算法
智能
算法
库源码(
高分
课设).zip基于python的群体智能优化
算法
智能
算法
库源码(
高分
课设).zip基于python的群体智能优化
算法
智能
算法
库源码(
高分
课设).zip基于python的群体智能优化
算法
智能
算法
库源码(
高分
课设).zip基于python的群体智能优化
算法
智能
算法
库源码(
高分
课设).zip基于python的群体智能优化
算法
智能
算法
库源码(
高分
课设).zip基于python的群体智能优化
算法
智能
算法
库源码(
高分
课设).zip基于python的群体智能优化
算法
智能
算法
库源码(
高分
课设).zip基于python的群体智能优化
算法
智能
算法
库源码(
高分
课设).zip基于python的群体智能优化
算法
智能
算法
库源码(
高分
课设).zip基于python的群体智能优化
算法
智能
算法
库源码(
高分
课设).zip基于python的群体智能优化
算法
智能
算法
库源码(
高分
课设).zip基于python的群体智能优化
算法
智能
算法
库源码(
高分
课设).zip 【备注】 项目多为
高分
毕设,评审平均分达到95分以上,都经过本地验证,运行OK后上传,可直接运行起来。 主要针对计算机相关专业的正在做毕设的学生和需要项目实战的Java、JavaScript、c#、游戏开发、小程序开发学习者、深度学习等专业方向。 也可作为课程设计、期末大作业。包含:项目源码、数据库、项目说明等,该项目可以直接作为毕设、课程设计使用。 也可以用来学习参考借鉴!
基于蚁群
算法
实现vrp问题java版本(
高分
毕设).zip
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于蚁群
算法
实现vrp问题java版本(
高分
毕设).zip基于蚁群
算法
实现vrp问题java版本(
高分
毕设).zip基于蚁群
算法
实现vrp问题java版本(
高分
毕设).zip基于蚁群
算法
实现vrp问题java版本(
高分
毕设).zip基于蚁群
算法
实现vrp问题java版本(
高分
毕设).zip基于蚁群
算法
实现vrp问题java版本(
高分
毕设).zip基于蚁群
算法
实现vrp问题java版本(
高分
毕设).zip基于蚁群
算法
实现vrp问题java版本(
高分
毕设).zip基于蚁群
算法
实现vrp问题java版本(
高分
毕设).zip基于蚁群
算法
实现vrp问题java版本(
高分
毕设).zip基于蚁群
算法
实现vrp问题java版本(
高分
毕设).zip基于蚁群
算法
实现vrp问题java版本(
高分
毕设).zip
《ACM竞赛-C/C++入门》 C语言-13
尹成老师带你步入C语言基础的殿堂,讲课生动风趣、深入浅出,全套视频内容充实,整个教程以C语言为核心,完整精彩的演练了C语言操作流程以及各种精彩的小项目等,提高竞赛能力,非常适合同学们学习!清华大学尹成老师、微软全球具有价值专家,手把手从基础教学到深入探讨,教你成为信息学竞赛高手,让你知识点一通百通拿到竞赛
高分
,为编程开发打下坚实的基础!从零基础到在蓝桥杯、NOIP、ACM竞赛、信息学奥林匹克竞赛等高含金量的国家级竞赛项目取得优异成绩!
java毕业设计基于协同过滤
算法
商品推荐系统源码+数据库(
高分
项目).zip
java毕业设计基于协同过滤
算法
商品推荐系统源码+数据库(
高分
项目).zip该项目是个人
高分
毕业设计项目源码,已获导师指导认可通过,都经过严格调试,确保可以运行!放心下载使用。 java毕业设计基于协同过滤
算法
商品推荐系统源码+数据库(
高分
项目).zip该项目是个人
高分
毕业设计项目源码,已获导师指导认可通过,都经过严格调试,确保可以运行!放心下载使用。 java毕业设计基于协同过滤
算法
商品推荐系统源码+数据库(
高分
项目).zip该项目是个人
高分
毕业设计项目源码,已获导师指导认可通过,都经过严格调试,确保可以运行!放心下载使用。 java毕业设计基于协同过滤
算法
商品推荐系统源码+数据库(
高分
项目).zip该项目是个人
高分
毕业设计项目源码,已获导师指导认可通过,都经过严格调试,确保可以运行!放心下载使用。 java毕业设计基于协同过滤
算法
商品推荐系统源码+数据库(
高分
项目).zip该项目是个人
高分
毕业设计项目源码,已获导师指导认可通过,都经过严格调试,确保可以运行!放心下载使用。 java毕业设计基于协同过滤
算法
商品推荐系统源码+数据库(
高分
项目).zip该项目是个人
高分
毕业设计项
USV路径跟踪LOS控制
算法
matlab仿真源码(
高分
大作业).zip
USV路径跟踪LOS控制
算法
matlab仿真源码(
高分
大作业).zip该项目是个人大作业项目源码,评审分达到95分以上,都经过严格调试,确保可以运行!放心下载使用。 USV路径跟踪LOS控制
算法
matlab仿真源码(
高分
大作业).zip该项目是个人大作业项目源码,评审分达到95分以上,都经过严格调试,确保可以运行!放心下载使用。 USV路径跟踪LOS控制
算法
matlab仿真源码(
高分
大作业).zip该项目是个人大作业项目源码,评审分达到95分以上,都经过严格调试,确保可以运行!放心下载使用。 USV路径跟踪LOS控制
算法
matlab仿真源码(
高分
大作业).zip该项目是个人大作业项目源码,评审分达到95分以上,都经过严格调试,确保可以运行!放心下载使用。 USV路径跟踪LOS控制
算法
matlab仿真源码(
高分
大作业).zip该项目是个人大作业项目源码,评审分达到95分以上,都经过严格调试,确保可以运行!放心下载使用。 USV路径跟踪LOS控制
算法
matlab仿真源码(
高分
大作业).zip该项目是个人大作业项目源码,评审分达到95分以上,都经过严格调试,确保可以运行!放心下载
VFP
2,723
社区成员
29,110
社区内容
发帖
与我相关
我的任务
VFP
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
复制链接
扫一扫
分享
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章