21 lines
428 B
Forth
21 lines
428 B
Forth
: calcPiDigits
|
|
| q r t k n l |
|
|
1 ->q 0 ->r 1 ->t 1 ->k 3 ->n 3 -> l
|
|
|
|
while( true ) [
|
|
4 q * r + t - n t * < ifTrue: [
|
|
n print
|
|
r n t * - 10 *
|
|
3 q * r + 10 * t / n 10 * - ->n ->r
|
|
q 10 * ->q
|
|
]
|
|
else: [
|
|
2 q * r + l *
|
|
7 k * q * 2 + r l * + t l * / ->n ->r
|
|
k q * ->q
|
|
t l * ->t
|
|
l 2 + ->l
|
|
k 1+ ->k
|
|
]
|
|
] ;
|