39 lines
787 B
Plaintext
39 lines
787 B
Plaintext
func[] fractran prog$ val limit .
|
|
for s$ in strsplit prog$ " " : n[][] &= number strsplit s$ "/"
|
|
for n to limit
|
|
r[] &= val
|
|
for i to len n[][]
|
|
if val mod n[i][2] = 0 : break 1
|
|
.
|
|
if i > len n[][] : break 1
|
|
val = val / n[i][2] * n[i][1]
|
|
.
|
|
return r[]
|
|
.
|
|
p$ = "17/91 78/85 19/51 23/38 29/33 77/29 95/23 77/19 1/17 11/13 13/11 15/14 15/2 55/1"
|
|
print fractran p$ 2 15
|
|
#
|
|
proc sort &d[] .
|
|
for i = 1 to len d[] - 1
|
|
for j = i + 1 to len d[]
|
|
if d[j] < d[i] : swap d[j] d[i]
|
|
.
|
|
.
|
|
.
|
|
r[] = fractran p$ 2 1000
|
|
sort r[]
|
|
i = 1
|
|
prim = 2
|
|
po = 4
|
|
repeat
|
|
repeat
|
|
if i > len r[] : break 2
|
|
until i > len r[] or r[i] >= po
|
|
i += 1
|
|
.
|
|
until i > len r[]
|
|
if r[i] = po : write prim & " "
|
|
prim += 1
|
|
po *= 2
|
|
.
|