RosettaCodeData/Task/Eulers-constant-0.5772.../Rust/eulers-constant-0.5772....rust
2023-07-01 13:44:08 -04:00

23 lines
569 B
Text

// 20220322 Rust programming solution
fn gamma(N: u32) -> f64 { // Vacca series https://w.wiki/4ybp
return 1f64 / 2f64 - 1f64 / 3f64
+ ((2..=N).map(|n| {
let power: u32 = 2u32.pow(n);
let mut sign: f64 = -1f64;
let mut term: f64 = 0f64;
for denominator in power..=(2 * power - 1) {
sign *= -1f64;
term += sign / f64::from(denominator);
}
return f64::from(n) * term;
}))
.sum::<f64>();
}
fn main() {
println!("{}", gamma(23));
}