Yellowstone sequence: Difference between revisions
Content added Content deleted
m (→{{header|Phix}}: updated. added online link) |
(Added XPL0 example.) |
||
Line 2,667: | Line 2,667: | ||
The first 30 Yellowstone numbers are: |
The first 30 Yellowstone numbers are: |
||
[1, 2, 3, 4, 9, 8, 15, 14, 5, 6, 25, 12, 35, 16, 7, 10, 21, 20, 27, 22, 39, 11, 13, 33, 26, 45, 28, 51, 32, 17] |
[1, 2, 3, 4, 9, 8, 15, 14, 5, 6, 25, 12, 35, 16, 7, 10, 21, 20, 27, 22, 39, 11, 13, 33, 26, 45, 28, 51, 32, 17] |
||
</pre> |
|||
=={{header|XPL0}}== |
|||
<lang XPL0>func GCD(N, D); \Return the greatest common divisor of N and D |
|||
int N, D, R; \numerator, denominator, remainder |
|||
[if D > N then |
|||
[R:=D; D:=N; N:=R]; \swap D and N |
|||
while D > 0 do |
|||
[R:= rem(N/D); |
|||
N:= D; |
|||
D:= R; |
|||
]; |
|||
return N; |
|||
]; |
|||
int I, A(30+1), N, T; |
|||
[for I:= 1 to 3 do A(I):= I; \givens |
|||
N:= 4; |
|||
repeat T:= 4; |
|||
loop [if GCD(T, A(N-1)) = 1 and \relatively prime |
|||
GCD(T, A(N-2)) # 1 then \not relatively prime |
|||
[loop [for I:= 1 to N-1 do \test if in sequence |
|||
if T = A(I) then quit; |
|||
quit; |
|||
]; |
|||
if I = N then \T is not in sequence so |
|||
[A(N):= T; \ add it in |
|||
N:= N+1; |
|||
quit; |
|||
]; |
|||
]; |
|||
T:= T+1; \next trial |
|||
]; |
|||
until N > 30; |
|||
for N:= 1 to 30 do |
|||
[IntOut(0, A(N)); ChOut(0, ^ )]; |
|||
\\for N:= 1 to 100 do Point(N, A(N)); \plot demonstration |
|||
]</lang> |
|||
{{out}} |
|||
<pre> |
|||
1 2 3 4 9 8 15 14 5 6 25 12 35 16 7 10 21 20 27 22 39 11 13 33 26 45 28 51 32 17 |
|||
</pre> |
</pre> |
||