Motzkin numbers: Difference between revisions
Content added Content deleted
m (→{{header|Factor}}: change output again) |
(Added Rust solution) |
||
Line 446: | Line 446: | ||
41 192,137,918,101,841,817 |
41 192,137,918,101,841,817 |
||
─── ─────────────────────── ─────────── |
─── ─────────────────────── ─────────── |
||
</pre> |
|||
=={{header|Rust}}== |
|||
{{trans|Wren}} |
|||
<lang rust>// [dependencies] |
|||
// primal = "0.3" |
|||
// num-format = "0.4" |
|||
fn motzkin(n: usize) -> Vec<usize> { |
|||
let mut m = vec![0; n]; |
|||
m[0] = 1; |
|||
m[1] = 1; |
|||
for i in 2..n { |
|||
m[i] = (m[i - 1] * (2 * i + 1) + m[i - 2] * (3 * i - 3)) / (i + 2); |
|||
} |
|||
m |
|||
} |
|||
fn main() { |
|||
use num_format::{Locale, ToFormattedString}; |
|||
let count = 42; |
|||
let m = motzkin(count); |
|||
println!(" n M(n) Prime?"); |
|||
println!("-----------------------------------"); |
|||
for i in 0..count { |
|||
println!( |
|||
"{:2} {:>23} {}", |
|||
i, |
|||
m[i].to_formatted_string(&Locale::en), |
|||
primal::is_prime(m[i] as u64) |
|||
); |
|||
} |
|||
}</lang> |
|||
{{out}} |
|||
<pre> |
|||
n M(n) Prime? |
|||
----------------------------------- |
|||
0 1 false |
|||
1 1 false |
|||
2 2 true |
|||
3 4 false |
|||
4 9 false |
|||
5 21 false |
|||
6 51 false |
|||
7 127 true |
|||
8 323 false |
|||
9 835 false |
|||
10 2,188 false |
|||
11 5,798 false |
|||
12 15,511 true |
|||
13 41,835 false |
|||
14 113,634 false |
|||
15 310,572 false |
|||
16 853,467 false |
|||
17 2,356,779 false |
|||
18 6,536,382 false |
|||
19 18,199,284 false |
|||
20 50,852,019 false |
|||
21 142,547,559 false |
|||
22 400,763,223 false |
|||
23 1,129,760,415 false |
|||
24 3,192,727,797 false |
|||
25 9,043,402,501 false |
|||
26 25,669,818,476 false |
|||
27 73,007,772,802 false |
|||
28 208,023,278,209 false |
|||
29 593,742,784,829 false |
|||
30 1,697,385,471,211 false |
|||
31 4,859,761,676,391 false |
|||
32 13,933,569,346,707 false |
|||
33 40,002,464,776,083 false |
|||
34 114,988,706,524,270 false |
|||
35 330,931,069,469,828 false |
|||
36 953,467,954,114,363 true |
|||
37 2,750,016,719,520,991 false |
|||
38 7,939,655,757,745,265 false |
|||
39 22,944,749,046,030,949 false |
|||
40 66,368,199,913,921,497 false |
|||
41 192,137,918,101,841,817 false |
|||
</pre> |
</pre> |
||