首页 > 试题广场 >

数字统计

[编程题]数字统计
  • 热度指数:9428 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 128M,其他语言256M
  • 算法知识视频讲解

请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。

比如给定范围[2, 22],数字2在数2中出现了1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次。


输入描述:
输入共1行,为两个正整数L和R,之间用一个空格隔开。


输出描述:
输出共1行,表示数字2出现的次数。
示例1

输入

2 22

输出

6
示例2

输入

2 100

输出

20

备注:
1≤L≤R≤10000。
use std::io::{self, *};

fn main() {
    let stdin = io::stdin();
    unsafe {
        for line in stdin.lock().lines() {
            let ll = line.unwrap();
            let numbers: Vec<&str> = ll.split(" ").collect();
            let a = numbers[0].trim().parse::<i32>().unwrap_or(0);
            let b = numbers[1].trim().parse::<i32>().unwrap_or(0);
            let c = count(a,b);
            print!("{}", c);
        }
    }
}
fn count(l: i32, r: i32) -> i32 {
    let mut c = 0;
    for num in l..=r {
        let s = num.to_string();
        for char in s.chars() {
            if char == '2' {
                c += 1;
            }
        }
    }
    c
}


发表于 2024-09-06 23:27:58 回复(0)

问题信息

难度:
1条回答 4383浏览

热门推荐

通过挑战的用户

查看代码
数字统计