RUST学习笔记(5)

今年用rust写

1、给一个年份,看闰年还是平年。

use std::io;

fn main() {
    let mut year = String::new();
    io::stdin().read_line(&mut year).expect("msg");
    let year: u32 = match year.trim().parse() {
        Ok(num) => num,
        Err(_) => {
            println!("请输入有效的年份!");
            return;
        }
    };

    if is_leap_year(year) {
        println!("{} 是闰年", year);
    } else {
        println!("{} 不是闰年", year);
    }
}
fn is_leap_year(year: u32) -> bool {
    (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)
}

2、水仙花数字

fn is_narcissistic_number(num: u32) -> bool {
    let digits: Vec<u32> = num
        .to_string()
        .chars()
        .map(|c| c.to_digit(10).unwrap())
        .collect();
    let n = digits.len() as u32;
    digits.iter().map(|&d| d.pow(n)).sum::<u32>() == num
}

fn main() {
    println!("以下是所有的三位水仙花数:");
    for num in 100..1000 {
        if is_narcissistic_number(num) {
            println!("{}", num);
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bowen2006

你的鼓励是我的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值