18 lines
477 B
Plaintext
18 lines
477 B
Plaintext
9000 REM ----- function generate
|
|
9010 REM in ... i ... number
|
|
9020 REM out ... pf() ... factors
|
|
9030 REM mod ... ca ... pf candidate
|
|
9040 pf(0)=0 : ca=2 : REM special case
|
|
9050 IF i=1 THEN RETURN
|
|
9060 IF INT(i/ca)*ca=i THEN GOSUB 9200 : GOTO 9050
|
|
9070 FOR ca=3 TO INT( SQR(i)) STEP 2
|
|
9080 IF i=1 THEN RETURN
|
|
9090 IF INT(i/ca)*ca=i THEN GOSUB 9200 : GOTO 9080
|
|
9100 NEXT
|
|
9110 IF i>1 THEN ca=i : GOSUB 9200
|
|
9120 RETURN
|
|
9200 pf(0)=pf(0)+1
|
|
9210 pf(pf(0))=ca
|
|
9220 i=i/ca
|
|
9230 RETURN
|