| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 372 人关注过本帖, 1 人收藏
标题:vfp 求10-100之间的互逆素数(如13是素数 31也是素数)
只看楼主 加入收藏
Javahome
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2015-12-2
结帖率:0
收藏(1)
已结贴  问题点数:20 回复次数:3 
vfp 求10-100之间的互逆素数(如13是素数 31也是素数)
求10-100之间的互逆素数(如13是素数 31也是素数)
2015-12-02 13:59
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:7 
程序代码:
FOR i = 10 TO 100
    IF isPrimer(i)
        IF isPrimer(inverse(i))
            ? i
        ENDIF
    ENDIF
ENDFOR

FUNCTION isPrimer(n)
    LOCAL i, Ret
    Ret = .T.
    FOR i = 2 TO SQRT(n)
        IF n % i == 0
            Ret = .F.
            EXIT
        ENDIF
    ENDFOR
    RETURN Ret
ENDFUNC

FUNCTION inverse(n)  
    LOCAL m, a  
    m = 0
    DO WHILE n > 0
        a = n % 10
        m = m * 10 + a
        n = INT(n / 10)
    ENDDO
    RETURN m
ENDFUNC
2015-12-02 14:52
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:7 
程序代码:
FOR lnI=10 TO 100
    IF IsPrime(lnI)=.T.
        Y=0
        X=lnI
        DO WHILE X!=0
            Y=MOD(X,10)+Y*10
            X=INT(X/10)
        ENDDO
        IF IsPrime(Y)=.T.
            MESSAGEBOX(STR(lnI)+"与"+STR(Y)+"互逆素数")
        ENDIF
    ENDIF 
ENDFOR
FUNCTION isPrime(n)
    LOCAL i
    IF n <= 3
        RETURN  n > 1
    ENDIF
    IF (n % 2 == 0) OR (n % 3 == 0)
         RETURN  .F.
    ENDIF
    i = 5
    DO WHILE i * i <= n
        IF (n % i == 0) OR (n % (i + 2) == 0) 
            RETURN .F.
        ENDIF
        i = i + 6
    ENDDO
    RETURN .T.
ENDFUNC

坚守VFP最后的阵地
2015-12-02 14:59
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2214
专家分:3882
注 册:2007-4-27
收藏
得分:7 
学习学习……谢谢

只求每天有一丁点儿的进步就可以了
2015-12-02 15:15
快速回复:vfp 求10-100之间的互逆素数(如13是素数 31也是素数)
数据加载中...
 
   



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

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