【2012百度之星/初赛上】B:小小度刷礼品
生活随笔
收集整理的這篇文章主要介紹了
【2012百度之星/初赛上】B:小小度刷礼品
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
描述:一年一度的百度之星又開始了,這次參賽人數創下了吉尼斯世界紀錄,于是百度之星決定獎勵一部分人:所有資格賽提交ID以x結尾的參賽選手將得到精美禮品一份。
小小度同學非常想得到這份禮品,于是他就連續狂交了很多次,提交ID從a連續到b,他想問問你他能得到多少份禮品,你能幫幫他嗎?
輸入
第一行一個正整數T表示數據組數;
接下去T行,每行三個正整數x,a,b (0 <=x <= 1018, 1 <= a,b <= 1018,a <= b)
輸出
T行,每行為對應的數據情況下,小小度得到的禮品數
樣例輸入
1
88888 88888 88888
樣例輸出
1
#include<iostream> using namespace std;long long bit(long long x) {long long l = 10;while(x >= 10){x /= 10;l *= 10;}return l; }long long suffix(long long k , long long x , long long num) //查找1~k區間以x為結尾的數字的個數 {long long m , n;m = k/num;n = k%num;if(n >= x)return m+1;elsereturn m; }int main(void) {long long a , b , x , num , left , right;int t ;cin >> t;while(t--){cin >> x >> a >> b;num = bit(x);left = suffix(a-1 , x , num);right = suffix(b , x , num);cout << right-left << endl;}return 0; }總結
以上是生活随笔為你收集整理的【2012百度之星/初赛上】B:小小度刷礼品的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【2012百度之星/初赛上】A:度度熊就
- 下一篇: 【2012百度之星/初赛上】C:集合的交