For you who always wanted to be able to factor 8-digit numbers
This is stupid. Pollards algorithm for prime factoring for a Sharp EL-9600. With Miller-Rabin primality tester.
1=>V
1=>W
Input L1(V)
Label FACTOR
If V>WGoto END
L1(V)=>N
V+1=>V
Gosub MR
If SGoto PRIME
Gosub PL
W+1=>L1(W)
D=>L1(W)
W+1=>W
N/D=>L1(W)
Goto FACTOR
Label PRIME
Print N
Goto FACTOR
Label END
End
Label MR
If N=2 or N=3 or N=5 or N=7Goto MRYES
3=>T
0=>S
Label MRLOOP
(ipart (random *(N-1)))+1=>A
Gosub BM
If R=1Goto MRNO
Return
Label MRNO
T-1=>T
If T>0Goto MRLOOP
Label MRYES
1=>S
Return
Label BM
N-1=>E
A=>M
1=>R
Label BMLOOP
If fpart (E/2)=0Goto BMNO
R*M=>R
R-N*(ipart (R/N))=>R
Label BMNO
M*M=>M
M-M*(ipart (M/N))=>M
ipart (E/2)=>E
If E!=0Goto BMLOOP
Return
Label PL
2=>K
1=>I
(ipart (random*(N-1)))+1=>X
1=>Y
Label PLLOOP
I+1=>I
X*X+32767=>X
X-N*ipart(X/N)=>X
gcd(abs(X-Y),ipart N)=>D
If ((D=1) or (D=N))Goto PLNO
Return
Label PLNO
If I!=KGoto PLLOOP
X=>Y
K*2=>K
Goto PLLOOP