Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
30
Task/Middle-three-digits/Rust/middle-three-digits.rust
Normal file
30
Task/Middle-three-digits/Rust/middle-three-digits.rust
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
fn middle_three_digits(x: i32) -> Result<String, String> {
|
||||
let s: String = x.abs().to_string();
|
||||
let len = s.len();
|
||||
if len < 3 {
|
||||
Err("Too short".into())
|
||||
} else if len % 2 == 0 {
|
||||
Err("Even number of digits".into())
|
||||
} else {
|
||||
Ok(s[len/2 - 1 .. len/2 + 2].to_owned())
|
||||
}
|
||||
}
|
||||
|
||||
fn print_result(x: i32) {
|
||||
print!("middle_three_digits({}) returned: ", x);
|
||||
match middle_three_digits(x) {
|
||||
Ok(s) => println!("Success, {}", s),
|
||||
Err(s) => println!("Failure, {}", s)
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let passing = [123, 12345, 1234567, 987654321, 10001, -10001, -123, -100, 100, -12345];
|
||||
let failing = [1, 2, -1, -10, 2002, -2002, 0];
|
||||
for i in passing.iter() {
|
||||
print_result(*i);
|
||||
}
|
||||
for i in failing.iter() {
|
||||
print_result(*i);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue