第一种:打表
不老实的人会进行打表。
use std::io;
fn main() {
let mut s = String::new();
io::stdin().read_line(&mut s).unwrap();
println!("{}",match s.trim().parse::<u32>().unwrap() {
1..=4 => 2,
5 => 3,
6..=24 => 4,
25..=75 => 5,
76..=375 => 6,
376..=624 => 7,
625..=9375 => 8,
_ => 9,
});
}
第二种:求出自守数
老实的人会求出范围内的自守数。
use std::io;
fn main() {
let mut s = String::new();
io::stdin().read_line(&mut s).unwrap();
let n = s.trim().parse::<u32>().unwrap();
let mut counter = 0;
for i in 0..=n {
if (i.pow(2)).to_string().ends_with(&(i.to_string())) {
counter += 1;
}
}
println!("{}",counter);
}