数学中国

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

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

  [复制链接]
 楼主| 发表于 2023-8-13 19:51 | 显示全部楼层
截止2023年08月12日周六15:04分浏览量111668,回复2286,热度159
截止2023年08月13日周日19:51分浏览量111911,回复2288,热度159
回复 支持 反对

使用道具 举报

发表于 2023-8-13 22:26 | 显示全部楼层
截止2023年08月12日周六15:04分浏览量111668,回复2286,热度159
截止2023年08月13日周日22:27分浏览量111923,回复2289,热度159
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-14 16:04 | 显示全部楼层
截止2023年08月13日周日22:27分浏览量111923,回复2289,热度159
截止2023年08月14日周一16:04分浏览量112057,回复2290,热度159
回复 支持 反对

使用道具 举报

发表于 2023-8-14 22:16 | 显示全部楼层
截止2023年08月13日周日22:27分浏览量111923,回复2289,热度159
截止2023年08月14日周一22:16分浏览量112090,回复2291,热度159
回复 支持 反对

使用道具 举报

发表于 2023-8-15 07:43 | 显示全部楼层
截止2023年08月14日周一22:16分浏览量112090,回复2291,热度159
截止2023年08月15日周二07:43分浏览量112181,回复2292,热度159
回复 支持 反对

使用道具 举报

发表于 2023-8-15 15:26 | 显示全部楼层
截止2023年08月14日周一22:16分浏览量112090,回复2291,热度159
截止2023年08月15日周二15:25分浏览量112274,回复2293,热度159
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-15 18:35 | 显示全部楼层
SELECT 1
USE H:\素数式系数\素数表万.DBF ALIAS 素数万
SELECT 2
USE H:\素数式系数\三倍加二素数.DBF ALIAS 三倍加二
SELECT 3
USE H:\素数式系数\素数表十亿.DBF ALIAS 素十亿
kssj=SECONDS()
    && For N=1 to 1
    && @ 5,12 say N
        SELECT 3
        go 2
        for m=1 to 239118
         @ 6,13 say m
        bpz=素数*3+2
        Kf=INT(SQRT(bpz))       &&求出奇数的开方根
        SELECT  1             &&打开素数表
        LOCATE FOR 素数>=kf      &&根据开方根,查找最大素数
        DO CASE
                CASE EOF()          &&如果超出素数表最后一条记录
                        GO BOTTOM
                CASE 素数>kf     &&如果找到的素数比开方根值大,就将记录指针退回一个,保证使用的最大素数在开方根内
                        SKIP -1
        ENDCASE
        SSS=RECNO()    &&记录下最大素数(开方根内)记录位置(如果找到的素数等于开方根,则直接读取这个素数的位置)
        GO 2           &&从第一条记录开始读取素数(3)
        FOR j=1 TO SSS-1       &&内循环开始。这个循环实质上是从小到大顺序,依次读取素数。循环值是记录序号
                qmz=MOD(bpz,素数)   &&以读取的素数为条件,对被判断值求模 【qmz=MOD(bpz,素数)】文本号括着的原在此行语句体部分.特别需要注意的是在用标点符号时,一定改成英文模式及半角状态。
                IF qmz=0
                        EXIT         
                ENDIF
                SKIP            &&素数表指针向下移动一个
        ENDFOR
        IF j>sss-1
                SELECT  2      &&打开盛放素数的表
                APPEND BLANK                        &&增加一条空记录
                REPLACE 素倍3 WITH bpz            &&将N值付给素数
        ENDIF
        SELECT 3
        skip
        ENDFOR
   && ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
这是一个判断一个素数的3倍+2,是否为素数程序,并输出。
回复 支持 反对

使用道具 举报

发表于 2023-8-15 23:34 | 显示全部楼层
截止2023年08月14日周一22:16分浏览量112090,回复2291,热度159
截止2023年08月15日周二23:34分浏览量112341,回复2295,热度159
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-16 15:03 | 显示全部楼层
截止2023年08月15日周二23:34分浏览量112341,回复2295,热度159
截止2023年08月16日周三15:02分浏览量112440,回复2296,热度159
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-16 17:00 | 显示全部楼层
vfp运算结果。

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-16 05:49 , Processed in 0.099138 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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