Files
CodeTest/baekjoon/배수와_약수/solution_19101993.rs
2024-08-29 16:22:29 +09:00

55 lines
1.3 KiB
Rust

use std::io::{self, Write, BufWriter, BufRead};
enum Relation{
Factor,
Multiple,
Neither,
Zeros,
}
fn find_relation(n: u32, m:u32) -> Relation{
if m == 0 && n ==0 {
return Relation::Zeros;
}
else if m % n == 0{
return Relation::Factor;
}
else if n % m == 0{
return Relation::Multiple;
}
else{
return Relation::Neither;
}
}
fn main(){
let stdin = io::stdin();
let mut lock_in = stdin.lock();
let stdout = io::stdout();
let lock_out = stdout.lock();
let mut buff_out = BufWriter::new(lock_out);
loop{
let mut datas = String::new();
lock_in.read_line(&mut datas)
.expect("Failed to read line");
let mut datas = datas.trim().split(" ");
let n = datas.next().expect("Not enough input")
.parse::<u32>().expect("Not an integer");
let m = datas.next().expect("Not enough input")
.parse::<u32>().expect("Not an integer");
let relation : Relation = find_relation(n, m);
match relation{
Relation::Factor => buff_out.write(b"factor\n"),
Relation::Multiple => buff_out.write(b"multiple\n"),
Relation::Neither => buff_out.write(b"neither\n"),
Relation::Zeros => break,
}.expect("Unexpected input given");
}
}