21 lines
463 B
Rust
21 lines
463 B
Rust
fn nth(num: isize) -> String {
|
|
format!("{}{}", num, match (num % 10, num % 100) {
|
|
(1, 11) | (2, 12) | (3, 13) => "th",
|
|
(1, _) => "st",
|
|
(2, _) => "nd",
|
|
(3, _) => "rd",
|
|
_ => "th",
|
|
})
|
|
}
|
|
|
|
fn main() {
|
|
let ranges = [(0, 26), (250, 266), (1000, 1026)];
|
|
for &(s, e) in &ranges {
|
|
println!("[{}, {}) :", s, e);
|
|
for i in s..e {
|
|
print!("{}, ", nth(i));
|
|
}
|
|
println!();
|
|
}
|
|
}
|