zoukankan      html  css  js  c++  java
  • 数字计数

    传送门:

    #include <cstdio>
    #include <cstring>
    #include <cstdlib>
    #include <iostream>
    using namespace std;
    #define ll long long
    #define re register
    inline void read(int &a)
    {
        a=0;
        int d=1;
        char ch;
        while(ch=getchar(),ch>'9'||ch<'0')
            if(ch=='-')
                d=-1;
        a=ch^48;
        while(ch=getchar(),ch>='0'&&ch<='9')
            a=(a<<3)+(a<<1)+(ch^48);
        a*=d;
    }
    ll ten[20],f[20],cnta[20],cntb[20],dig[20];
    inline void init()
    {
        ten[0]=1;
        for(re int i=1;i<=15;i++)
        {
            f[i]=f[i-1]*10+ten[i-1];
            ten[i]=10*ten[i-1];
        }
    }
    inline void solve(ll x,ll *cnt)
    {
        int coutt=0;
        while(x)
        {
            dig[++coutt]=x%10;
            x/=10;
        }
        for(re int i=coutt;i>=1;i--)
        {
            for(re int j=0;j<=9;j++)
                cnt[j]+=f[i-1]*dig[i];
            for(re int j=0;j<dig[i];j++)
                cnt[j]+=ten[i-1];
            ll ans=0;
            for(re int j=i-1;j>0;j--)
                ans=ans*10+dig[j];
            cnt[dig[i]]+=ans+1;
            cnt[0]-=ten[i-1];
        }
    }
    int main()
    {
        ll a,b;
        scanf("%lld %lld",&a,&b);
        init();
        solve(a-1,cnta);
        solve(b,cntb);
        for(re int i=0;i<=9;i++)
            printf("%lld ",cntb[i]-cnta[i]);
        return 0;
    }
  • 相关阅读:
    6 完全平方数相关
    5 三位数,每个位置不同
    Neo4j Admin Import 导入多个node和relationship
    Rust所有权
    Rust 多态
    Rust 泛型
    Rust trait
    Rust模块化
    Spring Cloud(Dalston.SR1)
    git 速度慢问题解决
  • 原文地址:https://www.cnblogs.com/acm1ruoji/p/10878834.html
Copyright © 2011-2022 走看看