// GCD by repeated subtraction. fn gcd(mut a: i32, mut b: i32) -> i32 { while a != b { if a > b { a -= b; } else { b -= a; } } a } fn main() { for p in &[(48, 18), (100, 75), (17, 5), (12, 12)] { println!("gcd({}, {}) = {}", p.0, p.1, gcd(p.0, p.1)); } }