51nod 1042 数字0~~9的数量
来源:互联网 发布:淘宝网话费充值平台 编辑:程序博客网 时间:2024/06/06 04:52
1042 数字0-9的数量
基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题
收藏
关注
给出一段区间a-b,统计这个区间内0-9出现的次数。
比如 10-19,1出现11次(10,11,12,13,14,15,16,17,18,19,其中11包括2个1),其余数字各出现1次。
Input
两个数a,b(1 <= a <= b <= 10^18)
Output
输出共10行,分别是0-9出现的次数
Input示例
10 19
Output示例
11111111111
和数1一个公式
然后公式没法数0 就把所位数加起来减去其他的位数;
#include<iostream>#include<cstdio>#include<algorithm>using namespace std;unsigned long long shu(unsigned long long n,unsigned long long r){ unsigned long long l=1,x=n,i,y; for(i=0;x>9;i++) { l=l*10; x=x/10; } y=i; x=n; //cout<<l<<' '<<i<<endl; unsigned long long s=0; while(x>0) { if(x/l==r) { s=s+x%l+x/l*y*l/10+1; //cout<<s<<' '<<x%l<<' '<<y*l/10+1<<endl; } else if(x/l!=r) { s=s+(x/l*y*l/10); if(x/l>r) s+=l; //cout<<s<<' '<<y*l/10+l/10<<endl; } x=x%l; l=l/10; y--; } return s;}unsigned long long shushu(unsigned long long n){ unsigned long long x=n,x1=1,k,l=1,z1,i; for(i=0;x>0;i++) { l=l*10; x=x/10; } k=i; // cout<<i<<' '<<l/10<<endl; z1=9; for(i=1;i<k;i++) { x1+=i*z1; z1=z1*10; } x1=x1+k*(n-l/10+1); return x1;}int main(){ unsigned long long n,m,d[11],p[11],i; while(cin>>n>>m) { n-=1; unsigned long long s1=0,s2=0; for(i=1;i<10;i++) { d[i]=shu(n,i); p[i]=shu(m,i); // cout<<d[i]<<' '<<p[i]<<endl; s1+=d[i]; s2+=p[i]; } long long x=shushu(n); long long y=shushu(m); d[0]=x-s1; p[0]=y-s2; for(i=0;i<10;i++) { cout<<p[i]-d[i]<<endl; } } return 0;}
0 0
- 51nod 1042:数字0-9的数量
- 51nod 1042 数字0-9的数量 数位DP
- 51nod 1042 数字0~~9的数量
- 51Nod-1042-数字0~9的数量
- 51NOD 1042 数字0-9的数量 数位DP
- 51nod 1042 数字0-9的数量(数位dp)
- 51nod-【1042 数字0-9的数量】
- 51nod-1042 数字0-9的数量
- 51nod 1042 数字0-9的数量
- 51Nod 1042 数字0-9的数量
- 51nod 1042 数字0-9的数量【数位dp】
- 51nod 1042 数字0-9的数量
- 51Nod 1042 数字0-9的数量 (数位DP
- 51nod 1042 数字0-9的数量 数位DP
- 51nod 1042 数字0-9的数量
- 51Nod 1042 数字0-9的数量
- 数位dp 总结 51nod数字1的数量 数字0-9的数量
- 51nod数字0-9的数量(数位dp)
- 今天碰到的403错误
- LeetCode进阶之路(Letter Combinations of a Phone Number)
- HTML5 WebSockets功能的例子
- 使用ViewDragHelper打造属于自己的DragLayout(抽屉开关 )
- SQL SERVER2014卸载方法
- 51nod 1042 数字0~~9的数量
- 一文读懂卷积神经网络
- laravel5 表单method无法用put,delete,patch?
- 确保成功集成和调用第三方APP
- javaEE:day3-servlet生命周期、提交解决中文乱码、tomcat加载jar包或类文件的顺序
- ACM集训day4
- 第23天:指导与管理项目工作和4种合同的区别
- chrome提示错误:CAUTION:Provisional headers are shown 解决办法
- Linux minmal 安装配置