任意门: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 (1≤T≤105) 表示数据组数。

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

输出

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

样例

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\n", ans);
33     }
34
35     return 0;
36 }

转载于:https://www.cnblogs.com/ymzjj/p/10422484.html

EOJ Monthly 2019.2 (based on February Selection) D 进制转换 【数学 进制转换】相关推荐

  1. EOJ Monthly 2019.2 (based on February Selection) D.进制转换

    题目链接: https://acm.ecnu.edu.cn/contest/140/problem/D/ 题目: 思路: 我们知道一个数在某一个进制k下末尾零的个数x就是这个数整除kx,这题要求刚好末 ...

  2. EOJ Monthly 2019.3 (based on March Selection) -D .宇恒棋

    D.宇恒棋 EOJ传送门 Q小方以前不会下宇恒棋,现在他会了,所以他急切的想教会你. 宇恒棋的规则是这样的:在一个 n×m 的棋盘上,QQ小方和你各有一枚棋子.你们轮流行动,每一次轮到一方的回合时,他 ...

  3. EOJ Monthly 2019.5 (based on May Selection) B. 幂运算

    B. 幂运算 单点时限: 1.0 sec 内存限制: 256 MB QQ小方以前不会幂的运算,现在他会了,所以他急切的想教会你. 对于形如 xa 的计算,可以归结到乘法运算 xa=∏a1x . 单单讲 ...

  4. EOJ Monthly 2019.11 E. 数学题(反演 + 杜教筛 + 拉格朗日插值)

    EOJ Monthly 2019.11 ∑i=1n∑a1=1i∑a2=1i∑a3=1i⋯∑ak−1i∑aki[gcd(a1,a2,a3,-,ak−1,ak,i)==1]=∑i=1n∑d∣iμ(d)⌊i ...

  5. 【EOJ Monthly 2019.01 - E】唐纳德先生与假骰子(假概率问题)

    题干: 单测试点时限: 6.0 秒 内存限制: 1024 MB 嗨,唐纳德先生又来了. 他又带了一枚假骰子,这个骰子的各个面的点数依然是 1,2,3,4,5,6 ,但是六个面向上的概率却不一定都是 1 ...

  6. 【EOJ Monthly 2019.02 - E】中位数(二分 ,中位数 ,−1/1变换,dp求解DAG最长路)

    题干: E. 中位数 单测试点时限: 10.0 秒 内存限制: 256 MB "你的地图是一张白纸,所以即使想决定目的地,也不知道路在哪里." QQ 小方最近在自学图论.他突然想出 ...

  7. 【EOJ Monthly 2019.02 - D】进制转换(思维,取模,高精度大数)

    题干: 单测试点时限: 2.0 秒 内存限制: 256 MB "他觉得一个人奋斗更轻松自在.跟没有干劲的人在一起厮混,只会徒增压力." QQ 小方决定一个人研究研究进制转换. 很快 ...

  8. 【EOJ Monthly 2019.02 - B】解题(思维,抽屉原理,暴力,模运算,优化,tricks)

    题干: 单测试点时限: 2.0 秒 内存限制: 1024 MB "我把房门上锁,并非为了不让她进去,而是为了防止自己逃到她身边". 她又被数学难住了.QQ 小方当然是不会对女生说& ...

  9. 【EOJ Monthly 2019.02 - A】回收卫星(交互题型,二分)

    题干: 单测试点时限: 1.0 秒 内存限制: 256 MB "这个世上没有无用的齿轮,也只有齿轮本身能决定自己的用途." 就像太空中的卫星,虽然不计其数,但都各司其职. 但没有一 ...

最新文章

  1. Smack类库最好的学习资料
  2. SpringBoot中实现CommandLineRunner接口在项目启动后立即执行某方法
  3. win10无法运行C语言文件,主编告诉你win10打不开pdf文件的详尽处理办法
  4. 云+X案例展 | 民生类:京东云突破数据中心光互联瓶颈
  5. jni开发-GetMethodID与CallObjectMethod的坑
  6. Leetcode 300.最长上升子序列(求长度)
  7. SQL 语句 - Select(2): 指定表中的字段
  8. Scala 编程---类和对象
  9. 【运动学】基于matlab GUI平衡车一阶倒立摆仿真【含Matlab源码 1258期】
  10. 智能读物产品优化、运营方案
  11. html编码写出滚动字幕,HTML滚动字幕代码及参数详解_html/css_WEB-ITnose
  12. kb931125—rootsupd_kb931125-rootsupd补丁下载
  13. 图的遍历(深度优先搜索)
  14. 打印表格留标题怎么设置_WPS怎么设置打印表格每页都有标题?
  15. Pycharm打开已有项目配置python环境
  16. 鸢尾花lris数据集的SVM线性分类
  17. windows 环境下 0x色彩对应表
  18. 如何改typecho主题头像_细节决定成败,抖音昵称、头像、简介、视频封面的重要性...
  19. 计算机被篡改ip地址,windows7系统下局域网电脑被篡改IP地址如何解决
  20. 扡扫机器人_米家扫拖机器人:扫地拖地一把抓,小爱同学不落下

热门文章

  1. java迭代器用途_各位JAVA前辈,迭代器使用报错。
  2. 从零开始学计算机组装与维修技术,从新手到高手:电脑组装、维护与故障排除...
  3. c语言的舞蹈机器人开题报告范文,现代舞编创手法在拉丁表演舞中的应用研究—本科开题报告...
  4. 网络流-EK求最大流
  5. java 全局变量 跳出递归循环_Java技术知识点的一些总结
  6. Java程序在命令行的编译运行
  7. php zhegnze_php 正则表达式
  8. 最新的INTEL FPGA时序分析资料
  9. 如何制作计算机启动盘,一款U盘启动盘制作小工具
  10. 图像处理——图像边缘检测