求质数、合数
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
求命令,谢谢!
* 测试数据 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