首页 > 其他 > 详细

CF1288B-Yet Another Meme Problem

时间:2020-02-24 18:05:35      阅读:69      评论:0      收藏:0      [点我收藏+]

题目:https://vjudge.net/problem/CodeForces-1288B

题意:给出A、B,求出a、b的对数满足1<=a<=A、1<=b<=B且 a * b + a + b = conc(a,b),其中conc(a,b)等于a和b的数字合并得到的数,例如a=12,b=10,则conc(a,b)=1210。

分析:数学题。从题意可以得到conc(a,b)=a*1eN+b,其中1eN为10的N次方。即a * b + a + b=a*1eN + b,整理得到 b+1=1eN。也就是说b一定为10的某个次方减去1,而a随意。故我们只需知道小于等于B的数中有多少个能由9组成,再乘以A便是答案。

 1 #include <stdio.h>
 2 int check(long long t){
 3     int x;
 4     while(t>0){
 5         x=t%10;
 6         t/=10;
 7         if(x!=9)return 0;
 8     }
 9     return 1;
10 }
11 int main(void){
12     int t;
13     scanf("%d",&t);
14     while(t--){
15         long long  a,b;
16         scanf("%lld %lld",&a,&b);
17         int n=0;
18         long long k=b;
19         while(k>0){
20             k/=10;
21             n++;
22         }
23         if(check(b))printf("%lld\n",a*n);
24         else printf("%lld\n",a*(n-1));
25     }
26     return 0;
27 }

 

CF1288B-Yet Another Meme Problem

原文:https://www.cnblogs.com/yanying7/p/12357953.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!