题解 | #自守数#

自守数

http://www.nowcoder.com/practice/88ddd31618f04514ae3a689e83f3ab8e

第一种:打表


不老实的人会进行打表。
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);
}
用 Rust 刷华为机试HJ 文章被收录于专栏

用 Rust 刷 HJ100 题,只需要懂基础 Rust 语法就能看懂

全部评论

相关推荐

EEbond:给北邮✌️跪了
点赞 评论 收藏
分享
无一技之长怎么办:别去右边,售前,实施,需求分析一起,这是把人当牛马用啊,快跑,这些岗位天花板很低的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务