2015-11-18 06:14:39 +00:00
|
|
|
fn f(n: u32) -> u32 {
|
2014-04-02 16:56:35 +00:00
|
|
|
match n {
|
|
|
|
|
0 => 1,
|
|
|
|
|
_ => n - m(f(n - 1))
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2015-11-18 06:14:39 +00:00
|
|
|
fn m(n: u32) -> u32 {
|
2014-04-02 16:56:35 +00:00
|
|
|
match n {
|
|
|
|
|
0 => 0,
|
|
|
|
|
_ => n - f(m(n - 1))
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn main() {
|
2015-11-18 06:14:39 +00:00
|
|
|
for i in (0..20).map(f) {
|
2014-04-02 16:56:35 +00:00
|
|
|
print!("{} ", i);
|
|
|
|
|
}
|
2015-11-18 06:14:39 +00:00
|
|
|
println!("");
|
2014-04-02 16:56:35 +00:00
|
|
|
|
2015-11-18 06:14:39 +00:00
|
|
|
for i in (0..20).map(m) {
|
2014-04-02 16:56:35 +00:00
|
|
|
print!("{} ", i);
|
|
|
|
|
}
|
|
|
|
|
println!("")
|
|
|
|
|
}
|