数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
楼主: 白新岭

[原创]请教vfbpgyfk先生一个编程问题

  [复制链接]
发表于 2010-6-12 12:04 | 显示全部楼层

[原创]请教vfbpgyfk先生一个编程问题

百分比是:
572/1712*100=33.4
165/1712*100=9.6
182/1712*100=10.6
401/1712*100=23.4
392/1712*100=22.9
 楼主| 发表于 2010-6-12 14:40 | 显示全部楼层

[原创]请教vfbpgyfk先生一个编程问题

1712/9=190.2222222,
3份为190.2222*3=570.666.与实际572组,绝对误差较小。在类别比例值上,样本数量越大越接近理论分布值。
 楼主| 发表于 2010-6-22 17:00 | 显示全部楼层

[原创]请教vfbpgyfk先生一个编程问题

下面引用由白新岭2010/06/12 04:30am 发表的内容:
共计1712组,其中余数为0的占572组,余数为30的占165组,余数为180的占182组,余数为90的占401组,余数为120的占392组,理论上为:3/1/1/2/2.
从此结果看,这与用Excel软件获得的数据相差很大,所以编程中有问题,最近很忙,即不能学编程,也不能继续分析k生素数的分布和合成问题。
 楼主| 发表于 2010-6-22 17:05 | 显示全部楼层

[原创]请教vfbpgyfk先生一个编程问题

用编程来筛选k生素数群中的代表元素,其数学原理(依据)是完全可以证明的。
在证明中所产生的思路和分析问题的方法是可以用来解释哈代公式或拉曼扭扬系数的。

点评

这是非常经典的总结。编程思路与证明数学命题是息息相关的,密不可分的,一脉相承。  发表于 2023-7-1 16:54
 楼主| 发表于 2010-9-13 06:58 | 显示全部楼层

[原创]请教vfbpgyfk先生一个编程问题

顶起,有时间时再看一看
 楼主| 发表于 2010-9-13 10:55 | 显示全部楼层

[原创]请教vfbpgyfk先生一个编程问题

[这个贴子最后由白新岭在 2010/09/13 11:00am 第 1 次编辑]

以下是182楼修改后的程序,用来求对称8生素数群,首先需要制作表:k8生成初始值29,里边存放着可能产生8生素数群的代表元素,共计2*4*6*(17-8)*(19-8)*(23-8)*(29-8)=1496880个元素,分段周期为:2*3*5*7*11*13*17*19*23*29=6469693230.如果筛选10^12内的对称8生素数群,需要循环154.5668个周期,即不到155个分段周期。总处理数据量=1496880*154.5668=231367951,即2.3亿个数据。
CLEAR ALL
SELECT 1
USE E:\用vfp求k生素数数量\最密8生素数群.DBF ALIAS 最密8生素数
SELECT 2
USE E:\用vfp求k生素数数量\素数表2.DBF ALIAS 素数表
SELECT 3
USE E:\用vfp求k生素数数量\k8生成初始值29.DBF ALIAS 生成初始值29
*INPUT "请输入预先值 K= " TO yxk
*INPUT "请输入步长值 bcz= " TO bcz
*INPUT "请输入初始值 csz= " TO csz
*INPUT "请输入外循环起始值 xks= " TO xks
*INPUT "请输入外循环终结值 zds= " TO zds
GO top                                    &&***************这条语句是将“k8生成初始值31”表的指针移到“41001”处**************
DO WHILE NOT EOF()                          &&*********既然是调用表中信息,而且是后部分,就应该使用“DO WHILE NOT EOF()”语句,由它来判断是否到文件尾**********
@ 2,5 say RECNO()                       &&显示记录号
scy=生成元29                            &&计算被判断值
For i=1 to 2
bpz=scy+i*6469693230
Kf=INT(SQRT(bpz))                       &&求出被判断值的开方根
SELECT 素数表                         &&打开素数表
LOCATE FOR 素数>=kf                     &&根据开方根,查找最大素数
DO CASE
CASE EOF()                          &&如果超出素数表最后一条记录
GO BOTTOM
CASE 素数>kf                        &&如果找到的素数比开方根值大,就将记录指针退回一个,保证使用的最大素数在开方根内
SKIP -1
ENDCASE
SSS=RECNO()                             &&记录下最大素数(开方根内)记录位置(如果找到的素数等于开方根,则直接读取这个素数的位置)
GO 10                                   &&从第二条记录开始读取素数(37)
FOR j=10 TO SSS                         &&内循环开始。这个循环实质上是从小到大顺序,依次读取素数。循环值是记录序号
qmz=MOD(bpz,素数)                   &&以读取的素数为条件,对被判断值求模 【qmz=MOD(bpz,素数)】文本号括着的原在此行语句体部分.特别需要注意的是在用标点符号时,一定改成英文模式及半角状态。
IF qmz=0 OR qmz=2 OR qmz=6 OR qmz=12 OR qmz=14 OR qmz=20 OR qmz=24 OR qmz=26
EXIT         
ENDIF
SKIP                                &&素数表指针向下移动一个
ENDFOR
IF j>sss
SELECT  最密8生素数                 &&打开保存求解结果的信息表
APPEND BLANK                        &&增加一条空记录
       REPLACE 被判值 WITH bpz             &&将被判断值保存到被判断值字段中(被判断值数据栏)
REPLACE 开方根 WITH kf              &&将开方根保存到开方根字段中(开方根值数据栏)
REPLACE 外环值 WITH RECNO()
ENDIF
ENDFOR
SELECT 生成初始值29
SKIP
ENDDO
CLEAR ALL
文字
 楼主| 发表于 2016-8-7 19:31 | 显示全部楼层
今天有时间浏览了一下本帖,真应了孔子的话:温故而知新。
if 表达式
语句1
(else
               语句2)
end if
语句一是条件满足才执行,即表达式=true
语句二是条件不满足才执行

点评

206#与207#相隔6年之久。  发表于 2023-7-1 16:55
 楼主| 发表于 2016-8-7 19:34 | 显示全部楼层
编程就得从基础做起,学而用之,用中学之(学而不思则罔,思而不学则殆)。
 楼主| 发表于 2016-8-7 19:36 | 显示全部楼层
编程解决问题,要比用excel软件解决问题不辛苦。

点评

只有亲身体验,才会有的感觉。  发表于 2023-7-1 17:02
 楼主| 发表于 2016-8-8 22:02 | 显示全部楼层
在一个编程中有求最大值,和最小值问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2025-5-12 23:22 , Processed in 0.093497 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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