Data update
This commit is contained in:
parent
81fd053722
commit
52a6ef48dd
10248 changed files with 63654 additions and 6775 deletions
1
Task/Catalan-numbers/PARI-GP/catalan-numbers-6.parigp
Normal file
1
Task/Catalan-numbers/PARI-GP/catalan-numbers-6.parigp
Normal file
|
|
@ -0,0 +1 @@
|
|||
Vec((1-sqrt(1 - 4*x))/(2*x)+O(x^16))
|
||||
25
Task/Catalan-numbers/PascalABC.NET/catalan-numbers.pas
Normal file
25
Task/Catalan-numbers/PascalABC.NET/catalan-numbers.pas
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
##
|
||||
function binom(n, k: integer): int64;
|
||||
begin
|
||||
result := 1;
|
||||
for var i := 1 to k do
|
||||
result := result * (n - i + 1) div i
|
||||
end;
|
||||
|
||||
function catalan1(n: integer) := binom(2 * n, n) div (n + 1);
|
||||
|
||||
function catalan2(n: integer): integer;
|
||||
begin
|
||||
if n = 0 then begin result := 1; exit end;
|
||||
for var i := 0 to n - 1 do
|
||||
result += catalan2(i) * catalan2(n - 1 - i)
|
||||
end;
|
||||
|
||||
function catalan3(n: integer): integer;
|
||||
begin
|
||||
if n > 0 then result := 2 * (2 * n - 1) * catalan3(n - 1) div (1 + n)
|
||||
else result := 1;
|
||||
end;
|
||||
|
||||
for var i := 0 to 15 do
|
||||
writeln(i:2, catalan1(i):9, catalan2(i):9, catalan3(i):9);
|
||||
33
Task/Catalan-numbers/Rust/catalan-numbers-2.rs
Normal file
33
Task/Catalan-numbers/Rust/catalan-numbers-2.rs
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
struct Catalan {
|
||||
catalans: Vec<i64>,
|
||||
n: i64,
|
||||
}
|
||||
|
||||
impl Default for Catalan {
|
||||
fn default() -> Self {
|
||||
Catalan {
|
||||
catalans: vec![1],
|
||||
n: 1,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Iterator for Catalan {
|
||||
type Item = i64;
|
||||
|
||||
fn next(&mut self) -> Option<Self::Item> {
|
||||
let c = *self.catalans.last().unwrap();
|
||||
let next = 2 * c * (2 * self.n - 1) / (self.n + 1);
|
||||
|
||||
self.catalans.push(next);
|
||||
self.n += 1;
|
||||
|
||||
Some(next)
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
for (i, catalan) in Catalan::default().take(15).enumerate() {
|
||||
println!("c_n({}) = {}", i, catalan);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue