找回密码
 欢迎注册
查看: 9427|回复: 1

[擂台] 哪位高手帮我翻译一个程序

[复制链接]
发表于 2011-10-26 18:42:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
我目前有一个难题,到这里来请求帮助,希望高手能伸出援手。 我有一个等着急用的用VFP语言编写的程序,想用郭老师的代码实现大数快速运行测试,虽然郭老师的代码可以任意下载,可是我只懂一点VFP,可惜郭老师那么好的代码我不会用,现在我希望有高手用郭老师的代码把我的程序翻译过来。下面的程序就是我说的代码,虽然高手现在都不用这个过时的代码,但我的程序代码旁边都有说明,所以代码不会成为翻译障碍的。代码下面就是测试数据,我的程序最大只能运行8-9位数字,用郭老师的程序代码那怕能运行出十几位数字我满足了,如果真的能运行出十位数字以上,我愿意用1000元表示感谢!我的QQ:2624678166 D=2 &&要输入数:D= W=4096 &&要输入数:W= L=11111111111 && 待输出T的最大值,若能运行大数可随时加大 k=2*W &&常量 for b=1 to L && 进入外循环从b=1开始, L是b的最大值 T=k*b+1 &&用前面得到的b和已知的k计算T=k*b+1 M1=2 &&常量 u=mod(M1,T) &&计算M1与T的余数u,这是后面的参照值 for v=1 to W && 进入二层循环从v=1开始, W是v的最大值 M2=D^v &&用前面得到的v和已知的D计算M2=D^v if M2>T-1 and M2>0 &&如果M2>T-1,则取大于T-1的最小值M2(其实是取v的最小值) M=D^v+1 &&用前面得到的最小值v和已知的D计算M=D^v+1 for i=v to W && 进入内循环次数从i=v开始,W是i的最大值 F=mod(M,T) &&计算M与T的余数F M=(F-1)*D+1 &&用前面得到的F与已知的D计算新的M,再返回上一步。 if  F=0 &&如果 F=0 if  i=W &&并且如果 i=W F1=mod(T-1,W) &&计算T-1与W的余数F1 if F1=0 &&如果 F1=0 ?'T=',T &&输出:T= endif  &&这是与 if 对应的循环语句 endif endif ENDFOR  &&这是与for to 对应的循环语句 EXIT  && 这是取M2最小值(也就是v的最小值)的循环语句 endif ENDFOR ENDFOR 测试数据 1、当输入D=2、W=4096, L=4000000011111111111111111111时 输出应该是 114689 、 26017793 、 63766529 、 190274191361 、 1256132134125569 、   568630647535356955169033410940867804839360742060818433 2、当输入D=2、W=2048, L=4000000011111111111111111111时 输出应该是319489、974849、167988556341760475137、3560841906445833920513等 3、当输入D=2、W=8192, L=4000000011111111111111111111时 输出应该是 2710954639361 、 2663848877152141313 、 3603109844542291969 、 319546020820551643220672513
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-11-21 20:45 , Processed in 0.021826 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表