zoukankan      html  css  js  c++  java
  • CF1288B-Yet Another Meme Problem

    题目: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
    ",a*n);
    24         else printf("%lld
    ",a*(n-1));
    25     }
    26     return 0;
    27 }
  • 相关阅读:
    maven学习(二)
    maven学习(一)
    一步步点亮led之软硬件分析
    mkv210添加校验和
    led部分Makefile
    makefile
    交叉编译工具链
    基础知识
    C语言复杂表达式与指针应用
    指针
  • 原文地址:https://www.cnblogs.com/yanying7/p/12357953.html
Copyright © 2011-2022 走看看