主题:CHYX QING JIAO
chyx
[专家分:450] 发布于 2007-03-23 19:05:00
【41】一个正整数(非素数)可以表示成它的因子(1和它本身除外)的乘积。
例如:12有2,3,4,6,所以可表示为:12=2*2*3=4*3=2*6。
给出任一个正整数N,求出它所有的因子乘积的表达式(交换律得出的不同式子算是同一种)
回复列表 (共4个回复)
沙发
Matodied [专家分:7560] 发布于 2007-04-25 21:32:00
DECLARE SUB pri ()
CLS
DIM SHARED t
INPUT n
DIM SHARED a(n)
t = 1: s = 1: a(t) = 1
DO
a(t) = a(t) + 1: s = s * a(t)
IF s >= n THEN
IF s = n AND t > 1 THEN pri
s = s / a(t): t = t - 1
IF t = 0 THEN EXIT DO
s = s / a(t)
ELSE
t = t + 1: a(t) = a(t - 1) - 1
END IF
LOOP UNTIL t = 0
END
SUB pri
FOR i = 1 TO t - 1: PRINT a(i); "*"; : NEXT i: PRINT a(t)
END SUB
板凳
美味的汽水 [专家分:70] 发布于 2007-04-25 22:14:00
头上也太长了吧
CLS
INPUT n
x = n
PRINT n; "=";
FOR i = 2 TO x - 1: IF n MOD i = 0 THEN PRINT i; "*"; : EXIT FOR
NEXT i
n = n \ i
10 FOR i = 2 TO x - 1
IF n MOD i = 0 THEN PRINT i; : EXIT FOR
NEXT i
n = n \ i
IF n <> 1 THEN PRINT "*"; : GOTO 10
3 楼
Matodied [专家分:7560] 发布于 2007-04-26 21:12:00
你到底给不给分?这可是我想了十几天才做出来的!
4 楼
Matodied [专家分:7560] 发布于 2007-04-28 17:42:00
[em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9]
我来回复