题解 | #水仙花数#

水仙花数

https://www.nowcoder.com/practice/dc943274e8254a9eb074298fb2084703

use std::io::{self, *};

fn main() {
    let stdin = io::stdin();
    for line in stdin.lock().lines() {
        let ll = line.unwrap();
        let numbers: Vec<&str> = ll.split(" ").collect();
        let m: u32 = numbers[0].trim().parse::<u32>().unwrap_or(0);
        let n: u32 = numbers[1].trim().parse::<u32>().unwrap_or(0);
        let mut count = 0;
        for number in m..=n {
            if is_narcissistic_number(number) {
                print!("{} ", number);
                count += 1;
            }
        }
        if count == 0 {
            print!("no");
        }
        println!();
    }
}

/// # 功能
/// 判断是否是水仙花数
/// # 参数
/// * `num` - 需要判断的数
/// # 返回值
/// 返回一个布尔值,true/false
/// # 示例
/// ```
/// let result = is_narcissistic_number(153); //判断整数153是否是水仙花数
/// assert_eq!(result, true); //检查函数输出结果是否正确
///                           //1^3+5^3+3^3=153
/// ```
/// # 备注
/// 水仙花数的定义:一个三位数,它的各位数字的立方和等于其本身。
fn is_narcissistic_number(num: u32) -> bool {
    let a = num / 100; //百位数
    let b = (num / 10) % 10; //十位数
    let c = num % 10; //个位数
    (a.pow(3) + b.pow(3) + c.pow(3)) == num
}

全部评论

相关推荐

找个工作&nbsp;学历是要卡的&nbsp;要求是高的&nbsp;技能不足是真的&nbsp;实习经验是0的&nbsp;简历无处可写是事实的&nbsp;钱不好赚是真的&nbsp;想躺平又不敢躺&nbsp;也不甘心躺&nbsp;怕自己的灵感和才华被掩埋甚至从未被自己发现&nbsp;又质疑自己是否真正有才华
码农索隆:你现在啊,你心里都明白咋回事,但是你没办法改变现状,一想到未来,你又没有信心狠下心来在当下努力。 得走出这种状态,不能一直困在那里面,哪不行就去提升哪,你一动不动那指定改变不了未来,动起来,积少成多才能越来越好
点赞 评论 收藏
分享
那一天的Java_J...:他本来公司就是做这个的,不就是正常的游戏客户端和服务器开发,软硬件联动,有啥恶心不恶心的,提前告诉你就是怕你接受不了,接受不了就没必要再往后走流程浪费时间,虽然这公司是一坨。
点赞 评论 收藏
分享
06-05 19:46
已编辑
武汉大学 后端
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 12:04
毕业生招你惹你了,问一个发薪日来一句别看网上乱七八糟的你看哪个工作没有固定发薪日扭头就取消了面试就问了一句公司都是这个态度吗还搞上人身攻击了...
程序员小白条:呃呃呃,都还没面试,我都不会问这么细,何况通不通过,去不去都另说,你没实力和学历的话,在外面就这样,说实话没直接已读不回就不错了,浪费时间基本上
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务