Motzkin numbers: Difference between revisions
Content added Content deleted
(→{{header|Ruby}}: Add the demo code...) |
Catskill549 (talk | contribs) (added AWK) |
||
Line 121: | Line 121: | ||
40 66,368,199,913,921,497 |
40 66,368,199,913,921,497 |
||
41 192,137,918,101,841,817 |
41 192,137,918,101,841,817 |
||
</pre> |
|||
=={{header|AWK}}== |
|||
<lang AWK> |
|||
# syntax: GAWK --bignum -f MOTZKIN_NUMBERS.AWK |
|||
BEGIN { |
|||
print(" n Motzkin[n] prime") |
|||
limit = 41 |
|||
m[0] = m[1] = 1 |
|||
for (i=2; i<=limit; i++) { |
|||
m[i] = (m[i-1]*(2*i+1) + m[i-2]*(3*i-3)) / (i + 2) |
|||
} |
|||
for (i=0; i<=limit; i++) { |
|||
printf("%2d %18d %3d\n",i,m[i],is_prime(m[i])) |
|||
} |
|||
exit(0) |
|||
} |
|||
function is_prime(x, i) { |
|||
if (x <= 1) { |
|||
return(0) |
|||
} |
|||
for (i=2; i<=int(sqrt(x)); i++) { |
|||
if (x % i == 0) { |
|||
return(0) |
|||
} |
|||
} |
|||
return(1) |
|||
} |
|||
</lang> |
|||
{{out}} |
|||
<pre> |
|||
n Motzkin[n] prime |
|||
0 1 0 |
|||
1 1 0 |
|||
2 2 1 |
|||
3 4 0 |
|||
4 9 0 |
|||
5 21 0 |
|||
6 51 0 |
|||
7 127 1 |
|||
8 323 0 |
|||
9 835 0 |
|||
10 2188 0 |
|||
11 5798 0 |
|||
12 15511 1 |
|||
13 41835 0 |
|||
14 113634 0 |
|||
15 310572 0 |
|||
16 853467 0 |
|||
17 2356779 0 |
|||
18 6536382 0 |
|||
19 18199284 0 |
|||
20 50852019 0 |
|||
21 142547559 0 |
|||
22 400763223 0 |
|||
23 1129760415 0 |
|||
24 3192727797 0 |
|||
25 9043402501 0 |
|||
26 25669818476 0 |
|||
27 73007772802 0 |
|||
28 208023278209 0 |
|||
29 593742784829 0 |
|||
30 1697385471211 0 |
|||
31 4859761676391 0 |
|||
32 13933569346707 0 |
|||
33 40002464776083 0 |
|||
34 114988706524270 0 |
|||
35 330931069469828 0 |
|||
36 953467954114363 1 |
|||
37 2750016719520991 0 |
|||
38 7939655757745265 0 |
|||
39 22944749046030949 0 |
|||
40 66368199913921497 0 |
|||
41 192137918101841817 0 |
|||
</pre> |
</pre> |
||