| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1262 人关注过本帖
标题:求质数、合数
只看楼主 加入收藏
五年半
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2016-6-8
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:3 
求质数、合数
6个数据,求质数、合数的个数,以及个数比,分别显示在后三列中
比如:6个数据为3 12 33 42 45 88

结果:         列1  列2  列3  列4  列5  列6  列7  列8  列9
                3   12  33    42   45    88   1    5   1:5
求命令,谢谢!
搜索更多相关主题的帖子: 求质 
2016-06-12 22:25
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10559
专家分:42996
注 册:2014-5-20
收藏
得分:7 
图片附件: 游客没有浏览图片的权限,请 登录注册

程序代码:
    * 测试数据
n = 100
LOCAL a[6]
CREATE CURSOR tt (f1 I, f2 I, f3 I, f4 I, f5 I, f6 I, 质数个数 I, 合数个数 I, 比数 C(10))
RAND(-1)
FOR i = 1 TO 100
    FOR j = 1 TO 6
        a[j] = INT((n-1)*RAND()+1)
    ENDFOR
    INSERT INTO tt VALUES (a[1], a[2], a[3], a[4], a[5], a[6], 0, 0, "")
ENDFOR
    
    * 统计数据
REPLACE 比数 WITH 统计() ALL 
GO TOP 
BROWSE
RETURN

FUNCTION 统计()
    LOCAL i, n质数个数, n合数个数, fn
    n质数个数 = 0
    n合数个数 = 0
    FOR i = 1 TO 6
        fn = EVALUATE("f"+TRANSFORM(i))
        IF isPrimer(fn)
            n质数个数 = n质数个数 + 1
        ELSE
            n合数个数 = n合数个数 + 1
        ENDIF
    ENDFOR
    REPLACE 质数个数 WITH n质数个数, 合数个数 WITH n合数个数 
    RETURN  " "+TRANSFORM(n质数个数)+":"+TRANSFORM(n合数个数)
ENDFUNC

FUNCTION isPrimer(n)
    LOCAL i
    FOR i = 2 TO SQRT(n)
        IF n % i == 0
            RETURN .F.
        ENDIF
    ENDFOR
    RETURN .T.
ENDFUNC
2016-06-13 08:35
五年半
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2016-6-8
收藏
得分:0 
回复 2楼 吹水佬
图片附件: 游客没有浏览图片的权限,请 登录注册

不能使用啊
2016-06-16 12:59
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10559
专家分:42996
注 册:2014-5-20
收藏
得分:0 
是示例
全部代码放到一个prg文件运行。
2016-06-16 15:48
快速回复:求质数、合数
数据加载中...
 
   



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

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