blob: a5ef2fc6830248a44f4b55fc697da1bbc0e49e9f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
''' recursively pushes the prime factors of the int on the top of the stack'''
PROC factors
''' only proceed if the input is valid '''
IF DUP 1 < DO
''' find the smallest number that divides n '''
2 WHILE OVER OVER SWAP % 0 != DO 1 + END
''' print it and find the next factor '''
DUP .
OVER OVER SWAP / factors
END
END
PROC MAIN
"Prime factors of 12:" . 12 factors
"Prime factors of 5:" . 5 factors
"Prime factors of 60:" . 60 factors
"Prime factors of 97:" . 97 factors
END
|