27 lines
551 B
Rust
27 lines
551 B
Rust
use gcd::gcd;
|
|
|
|
use std::io::Write;
|
|
use std::str::FromStr;
|
|
|
|
fn main() {
|
|
let mut numbers = Vec::new();
|
|
|
|
for arg in std::env::args().skip(1) {
|
|
numbers.push(
|
|
u64::from_str(&arg).expect("error parsing argument")
|
|
);
|
|
}
|
|
|
|
if numbers.len() == 0 {
|
|
writeln!(std::io::stderr(), "Usage: gcd NUMBER ...").unwrap();
|
|
std::process::exit(1);
|
|
}
|
|
|
|
let mut d = numbers[0];
|
|
for m in &numbers[1..] {
|
|
d = gcd(d, *m);
|
|
}
|
|
|
|
println!("The greatest common divisor of {:?} is {}", numbers, d);
|
|
}
|