51nod 1042 数字0-9的数量
来源:互联网 发布:三体文明等级 知乎 编辑:程序博客网 时间:2024/06/10 11:12
给出一段区间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的数量 循环10次,对0进行一次特判。
#include <iostream>#include<bits/stdc++.h>#define ll long longusing namespace std;ll solve(ll n,ll x){ ll i=1; ll cnt=0; ll now=0,before=0,after=0; while(n/i) { now=(n/i)%10; before=n/i/10; after=n-n/i*i; if(x==0) { if(now>0) //0要考虑前面不能全为0 cnt+=before*i; else cnt+=i*(before-1)+after+1; } else { if(now>x)cnt+=(before+1)*i;//前面可以全部为0,比如before=10 ,0到9可以,now>x 所以10也可以,一共11个 else if(now==x)cnt+=i*before+after+1; else cnt+=i*before; } i*=10; }return cnt;}int main(){ ll a,b; cin>>a>>b; for(int i=0;i<10;i++) cout<<solve(b,i)-solve(a-1,i)<<endl;}
阅读全文
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)
- SonarQube插件开发自定义规则(6)注意事项
- 【LibUIDK界面库系列文章】Web Browser控件避免闪烁
- halcon学习笔记——(7)HALCON标定后的二维测量
- 常用的Sql 函数
- Palindrome Number
- 51nod 1042 数字0-9的数量
- halcon学习笔记——(8)由标定板得到测量平面位姿
- [LeetCode] 17. Letter Combinations of a Phone Number
- halcon学习笔记——(9)摄像机标定
- SonarQube插件开发自定义规则(7)测试插件
- Halcon入摄像机标定初始参数解释
- vuex的最易看懂介绍
- 快速排序
- Python机器视觉编程常用数据结构与示例