Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
34
Task/Recamans-sequence/Forth/recamans-sequence.fth
Normal file
34
Task/Recamans-sequence/Forth/recamans-sequence.fth
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
: array ( n -- ) ( i -- addr)
|
||||
create cells allot
|
||||
does> swap cells + ;
|
||||
|
||||
100 array sequence
|
||||
|
||||
: sequence. ( n -- ) cr 0 ?do i sequence @ . loop ;
|
||||
|
||||
: ?unused ( n -- t | n )
|
||||
100 0 ?do
|
||||
dup i sequence @ = if unloop exit then
|
||||
loop drop true ;
|
||||
|
||||
: sequence-next ( n -- a[n] )
|
||||
dup 0= if 0 0 sequence ! exit then ( case a[0]=0 )
|
||||
dup dup 1- sequence @ swap - ( a[n]=a[n-1]-n )
|
||||
dup dup 0> swap ?unused true = and if
|
||||
nip exit then drop
|
||||
dup 1- sequence @ swap + ; ( a[n]=a[n-1]+n )
|
||||
|
||||
: sequence-gen ( n -- )
|
||||
0 ?do i sequence-next i sequence ! loop ;
|
||||
|
||||
: sequence-repeated
|
||||
100 0 ?do
|
||||
i 0 ?do
|
||||
i sequence @ j sequence @ = if
|
||||
cr ." first repeated : a[" i . ." ]=a[" j . ." ]=" i sequence @ . unloop unloop exit then
|
||||
loop
|
||||
loop ;
|
||||
|
||||
100 sequence-gen
|
||||
15 sequence.
|
||||
sequence-repeated
|
||||
Loading…
Add table
Add a link
Reference in a new issue