B:小小度刷礼品

  • 提交
  • 提交记录
    时间限制:
    1000ms
    内存限制:
    65536kB
    描述

    一年一度的百度之星又开始了,这次参赛人数创下了吉尼斯世界纪录,于是百度之星决定奖励一部分人:所有资格赛提交ID以x结尾的参赛选手将得到精美礼品一份。

    小小度同学非常想得到这份礼品,于是他就连续狂交了很多次,提交IDa连续到b,他想问问你他能得到多少份礼品,你能帮帮他吗?


    输入
    第一行一个正整数T表示数据组数;
    接下来T行,每行三个不含多余前置零的整数x,a,b (0 <=x <= 10^18, 1 <= a,b <= 10^18,a <= b)
    输出
    T行,每行为对应的数据情况下,小小度得到的礼品数
    样例输入
    1
    88888 88888 88888
    
    样例输出
    1
     
    #include <stdio.h>
    #include <iostream>
    using namespace std;
    
    long long fun(int n)
    {
    	long long sum=1;
    	while (n--)
    		sum*=10;
    	return sum;
    }
    int main()
    {
    	int t;
    	long long x,a,b;
    	scanf("%d",&t);
    	while (t--)
    	{
    		scanf("%lld %lld %lld",&x,&a,&b);
    		long long cnt=0;
    		int len_x=sizeof(x)/sizeof(int);
    		int len_a=sizeof(a)/sizeof(int);
    		int len_b=sizeof(b)/sizeof(int);
    		for (long long i=a; i<=b; ++i)
    		{
    			int len_i=sizeof(i)/sizeof(int);
    			if (0==(a-x)%fun(len_i-len_x))
    			{
    				cnt++;
    				i+=x;
    			}
    		}
    		printf ("%lld\n",cnt);
    	}
    	return 0;
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值