Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
22
Task/Forward-difference/Rust/forward-difference.rust
Normal file
22
Task/Forward-difference/Rust/forward-difference.rust
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
fn forward_difference(input_seq: Vec<i32>, order: u32) -> Vec<i32> {
|
||||
match order {
|
||||
0 => input_seq,
|
||||
1 => {
|
||||
let input_seq_iter = input_seq.into_iter();
|
||||
let clone_of_input_seq_iter = input_seq_iter.clone();
|
||||
input_seq_iter.zip(clone_of_input_seq_iter.skip(1)).map(|(current, next)| next - current).collect()
|
||||
},
|
||||
_ => forward_difference(forward_difference(input_seq, order - 1), 1),
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let mut sequence = vec![90, 47, 58, 29, 22, 32, 55, 5, 55, 73];
|
||||
loop {
|
||||
println!("{:?}", sequence);
|
||||
sequence = forward_difference(sequence, 1);
|
||||
if sequence.is_empty() {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue