32 lines
804 B
Plaintext
32 lines
804 B
Plaintext
100 PROGRAM PrimeDecomposition
|
|
110 REM -(2^31) has most prime factors (31 twos) than other 32-bit signed integer.
|
|
120 DIM Facs(0 TO 30)
|
|
130 INPUT PROMPT "Enter a number: ": N
|
|
140 CALL CalcFacs(N, Facs, FacsCnt)
|
|
150 REM There is at least one factor
|
|
160 FOR I = 0 TO FacsCnt - 1
|
|
170 PRINT Facs(I);
|
|
180 NEXT I
|
|
190 PRINT
|
|
200 END
|
|
210 REM **
|
|
220 EXTERNAL SUB CalcFacs(N, Facs(), FacsCnt)
|
|
230 LET N = ABS(N)
|
|
240 LET FacsCnt = 0
|
|
250 IF N >= 2 THEN
|
|
260 LET I = 2
|
|
270 DO WHILE I * I <= N
|
|
280 IF MOD(N, I) = 0 THEN
|
|
290 LET N = INT(N / I)
|
|
300 LET Facs(FacsCnt) = I
|
|
310 LET FacsCnt = FacsCnt + 1
|
|
320 LET I = 2
|
|
330 ELSE
|
|
340 LET I = I + 1
|
|
350 END IF
|
|
360 LOOP
|
|
370 LET Facs(FacsCnt) = N
|
|
380 LET FacsCnt = FacsCnt + 1
|
|
390 END IF
|
|
400 END SUB
|