zoukankan      html  css  js  c++  java
  • EOJ Monthly 2019.2 (based on February Selection) D 进制转换 【数学 进制转换】

    任意门:https://acm.ecnu.edu.cn/contest/140/problem/D/

    D. 进制转换

    单测试点时限: 2.0 秒

    内存限制: 256 MB

    “他觉得一个人奋斗更轻松自在。跟没有干劲的人在一起厮混,只会徒增压力。”

    QQ 小方决定一个人研究研究进制转换。

    很快,QQ 小方就遇到问题了。他现在想知道在十进制范围 [l,r] 内有多少整数满足在 k 进制下末尾恰好有 m 个 0

    比如在十进制下的 24 在二进制下是 11000,我们称十进制下的 24 在二进制下末尾恰好有 3 个 0

    QQ 小方一筹莫展,你能帮他解决问题吗?

    输入

    第一行包含一个整数 T (1T105) 表示数据组数。

    对于每组数据包含一行,四个整数 l,r,k,m ( 1lr10182k,m100),含义如题目所述。

    输出

    对于每组数据输出一行,包含一个整数,表示答案。

    样例

    input
    2
    1 10 2 3
    1 100 2 3
    
    output
    1
    6
    

    提示

    例如,在 100 进制下,末位是 90 的数不算作有末尾 0

    解题思路:

    很明显就是求 N % (Km) == 0 且 N % ( Km+1)  != 0;

    但很明显  N % (Km) == 0  的情况包括了 N % ( Km+1)  != 0 的情况,而这种情况刚好就是 K个数 满 K 进位的情况,很容易判断并且找出来。

    wa 的原因在于没有判断无解的情况。。。。。菜哭

    AC code:

     1 #include<bits/stdc++.h>
     2 #define INF 0x3f3f3f3f
     3 #define LL long long
     4 using namespace std;
     5 LL L, R, K, M;
     6 
     7 LL qpow(LL x, LL n)
     8 {
     9     LL res = 1;
    10     while(n){
    11         if(n&1) res*=x;
    12         x*=x;
    13         n>>=1LL;
    14     }
    15     return res;
    16 }
    17 
    18 int main()
    19 {
    20     int T_case;
    21     scanf("%d", &T_case);
    22     while(T_case--){
    23         scanf("%lld %lld %lld %lld", &L, &R, &K, &M);
    24         LL base = qpow(K, M);
    25         LL ans = 0, tot = 0, tp;
    26         if(M*log(K) > log(R)) ans = 0;
    27         else{
    28             LL la = R/base, lb = L/base;
    29             ans = la-(la/K) - (lb-(lb/K));
    30             if((L/base)%K != 0 && L%base == 0) ans++;
    31         }
    32         printf("%lld
    ", ans);
    33     }
    34 
    35     return 0;
    36 }
  • 相关阅读:
    kbmMW 5.07.00试用笔记
    在 Andriod/IOS 程序中使用自定义字体
    【转】Delphi 10.3关于相机该注意的细节
    Delphi 10.3终于来了
    REST easy with kbmMW #17 – Database 6 – Existing databases
    【go】1环境搭建go语言介绍
    【ESSD技术解读02】企业级利器,阿里云 NVMe 盘和共享存储
    项目实战总结以及接入UAPM
    RocketMQ 5.0 POP 消费模式探秘
    Cube 技术解读 | 详解「支付宝」全新的卡片技术栈
  • 原文地址:https://www.cnblogs.com/ymzjj/p/10422484.html
Copyright © 2011-2022 走看看