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;
    }
  • 相关阅读:
    Ext.form.FieldSet字段集
    jQuery系列目录
    Ext.form.field.Trigger触发字段
    Ext.grid.Panel表格分页
    ExtJS Model数据实体模型
    Ext.form.field.Spinner微调字段
    Ext.window.MessageBox
    书单
    资料收集
    喧嚣
  • 原文地址:https://www.cnblogs.com/acm1ruoji/p/10878834.html
Copyright © 2011-2022 走看看