P1554 梦中的统计

博客介绍了P1554题目,Bessie在半梦半醒间数数,需要计算从M到N每个数字出现的次数。提供了Python和C++的解题代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

P1554 梦中的统计

题目背景

Bessie 处于半梦半醒的状态。过了一会儿,她意识到她在数数,不能入睡。

题目描述

Bessie的大脑反应灵敏,仿佛真实地看到了她数过的一个又一个数。她开始注意每一个数码(0…9):每一个数码在计数的过程中出现过多少次?

给出两个整数 M 和 N 1 ≤ M ≤ N ≤ 2 × 1 0 9 以 及 N − M ≤ 5 × 1 0 5 1 \leq M \leq N \leq 2 \times 10^9 以及 N-M \leq 5 \times 10^5 1MN2×109NM5×105),求每一个数码出现了多少次。

输入格式

第 1 行: 两个用空格分开的整数 M和 N

输出格式

第 1 行: 十个用空格分开的整数,分别表示数码 0…9 在序列中出现的次数。

输入输出样例

输入 #1复制

129 137

输出 #1复制

1 10 2 9 1 1 1 1 0 1

题解

python

m,n=map(eval,input().split())
s=""
for i in range(m,n+1):
    s+=str(i)
for i in range(0,10):
    print(s.count(str(i)),end=" ")

c++

#include <iostream>
#include <sstream>
using namespace std;
int main() {
    int m,n;
    stringstream s;
    cin>>m>>n;
    for (int i = m; i <= n; s<<i,++i);
    for (int i = 0; i < 10; ++i) {
        int c=0;
        for(auto x:s.str()){
            if(i+'0'==x)c++;
        }
        cout<<c<<" ";
    }
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值