Trabb Pardo–Knuth algorithm: Difference between revisions

no edit summary
No edit summary
Line 2,694:
f(2.0) = 41.41421356237309
f(1.0) = 6.0
</pre>
 
=={{header|Rust}}==
<lang rust>
use std::io::{self, BufRead};
 
fn op(x: f32) -> Option<f32> {
let y = x.abs().sqrt() + 5.0 * x * x * x;
if y < 400.0 {
Some(y)
} else {
None
}
}
 
fn main() {
println!("Please enter 11 numbers (one number per line)");
let stdin = io::stdin();
 
let xs = stdin
.lock()
.lines()
.map(|ox| ox.unwrap().trim().to_string())
.flat_map(|s| str::parse::<f32>(&s))
.take(11)
.collect::<Vec<_>>();
 
for x in xs.into_iter().rev() {
match op(x) {
Some(y) => println!("{}", y),
None => println!("overflow"),
};
}
}
</lang>
 
{{out}}
<pre>
Enter 11 numbers (one number per line)
1
2
3
4
5
6
7
8
9
10
11
overflow
overflow
overflow
overflow
overflow
overflow
overflow
322
136.73206
41.414215
6
</pre>
 
Anonymous user