Boustrophedon transform: Difference between revisions
Content added Content deleted
Thundergnat (talk | contribs) m (Relocate Julia header to correct position. Seems it got misplaced when Nim was added.) |
imported>Maxima enthusiast No edit summary |
||
Line 210: | Line 210: | ||
[1, 2, 5, 17, 73, 381, 2347, 16701, 134993, 1222873, 12279251, 135425553, 1627809401, 21183890469, 296773827547] |
[1, 2, 5, 17, 73, 381, 2347, 16701, 134993, 1222873, 12279251, 135425553, 1627809401, 21183890469, 296773827547] |
||
13714256926920345740 ... 19230014799151339821 (2566 digits) |
13714256926920345740 ... 19230014799151339821 (2566 digits) |
||
</pre> |
|||
=={{header|Maxima}}== |
|||
<syntaxhighlight lang="maxima"> |
|||
/* Functions used */ |
|||
boustrophedon_zero_tail[k,n]:=if n=0 then boustrophedon_zero_tail[k,n]:apply(lambda([x],if x=0 then 1 else 0),[k]) else boustrophedon_zero_tail[k,n-1]+boustrophedon_zero_tail[k-1,k-n]$ |
|||
boustrophedon_ones[k,n]:=if n=0 then boustrophedon_ones[k,n]:1 else boustrophedon_ones[k,n-1]+boustrophedon_ones[k-1,k-n]$ |
|||
boustrophedon_alternating[k,n]:=if n=0 then boustrophedon_alternating[k,n]:(-1)^k else boustrophedon_alternating[k,n-1]+boustrophedon_alternating[k-1,k-n]$ |
|||
prime_list(n):=block(init:2,append([init],makelist(init:next_prime(init),i,n)))$ |
|||
boustrophedon_primes[k,n]:=if n=0 then boustrophedon_primes[k,n]:last(prime_list(k)) else boustrophedon_primes[k,n-1]+boustrophedon_primes[k-1,k-n]$ |
|||
boustrophedon_fib[k,n]:=if n=0 then boustrophedon_fib[k,n]:fib(k+1) else boustrophedon_fib[k,n-1]+boustrophedon_fib[k-1,k-n]$ |
|||
boustrophedon_factorial[k,n]:=if n=0 then boustrophedon_factorial[k,n]:k! else boustrophedon_factorial[k,n-1]+boustrophedon_factorial[k-1,k-n]$ |
|||
/* Test cases */ |
|||
makelist(boustrophedon_zero_tail[i,i],i,0,14); |
|||
makelist(boustrophedon_ones[i,i],i,0,14); |
|||
makelist(boustrophedon_alternating[i,i],i,0,14); |
|||
makelist(boustrophedon_primes[i,i],i,0,14); |
|||
makelist(boustrophedon_fib[i,i],i,0,14); |
|||
makelist(boustrophedon_factorial[i,i],i,0,14); |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
[1,1,1,2,5,16,61,272,1385,7936,50521,353792,2702765,22368256,199360981] |
|||
[1,2,4,9,24,77,294,1309,6664,38177,243034,1701909,13001604,107601977,959021574] |
|||
[1,0,0,1,0,5,10,61,280,1665,10470,73621,561660,4650425,41441530] |
|||
[2,5,13,35,103,345,1325,5911,30067,172237,1096319,7677155,58648421,485377457,4326008691] |
|||
[1,2,5,14,42,144,563,2526,12877,73778,469616,3288428,25121097,207902202,1852961189] |
|||
[1,2,5,17,73,381,2347,16701,134993,1222873,12279251,135425553,1627809401,21183890469,296773827547] |
|||
</pre> |
</pre> |
||