qduoj 96 一道非常简单的签到题
来源:互联网 发布:转行it 知乎 编辑:程序博客网 时间:2024/05/22 01:27
一道非常简单的签到题
发布时间: 2016年7月2日 20:32 最后更新: 2016年7月2日 21:48 时间限制: 1000ms 内存限制: 128M
给你k,a,b三个数,问[a,b]区间内有多少个数可以整除k。(n / k == 0)
多组输入,即输入包括多行,每行三个数k,a,b。 其中1 ≤ k ≤ 10^18,-10^18 ≤ a ≤ b ≤ 10^18。
输出包含多行,每行对应题目所要求的结果。
1 1 102 4 16
107
思路:这个题如果暴力会超时的,需要有一定的技巧.
我们知道对于一个数n(n>0)要想知道他的前面有多少个能整除x的数,我们只需要用n/x;
这个题给我们一个区间,我们只需要分别用两个端点去的值去除以k然后相减,但是需要注意的是,如果左端点的值刚好能整除的话,我们两个做差
就相当于把它剪掉了,所以我们要对左端点进行特判,还有就是0也是可以整除k的数,如果两个都为负数的话我们就可以直接到对应的正区间就好
#include<stdio.h>#include<string.h>long long k,a,b,s;void swap(){ long long z; z=a; a=b; b=z; return ;}int main(){ while(scanf("%lld %lld %lld",&k,&a,&b)!=EOF) { if(b<0) { a=-a; b=-b; swap(); } s=b/k-a/k;//核心d if(a%k==0||a<=0) s++; printf("%lld\n",s); } return 0; }
- qduoj 一道非常简单的签到题
- qduoj 96 一道非常简单的签到题
- qduoj no cer的一道简单签到题
- qduoj kkun的一道简单签到题(优先队列)
- qduoj 153 cfenglv的一道简单签到题 (二分+分解因子)
- qduoj cfenglv的一道简单签到题(区间gcd rmq,二分)
- qduoj 88 一道非常简单的炉石题(最大匹配)
- qduoj 102 一道非常简单的数学题(构造)
- QDUOJ 蒸鱼的一个简单签到题 思维+kmp
- cfenglv的一道简单签到题 QDU
- qduoj 一道简单的数据结构题(水题)
- QDU BelamiYao的一道简单签到题(思维)
- qduoj ycb老师与一道简单的物理题 三分
- QDUOJ 39 - 签到题(线段树)
- qduoj 签到题 (树状数组)
- 一道签到题
- hpu1695 一道签到题
- 一道签到题
- JS绑定事件
- Find a multiple (鸽巢原理)
- 浅谈分布式系统
- java学习初步总结
- CSS对于元素隐藏的几种方法
- qduoj 96 一道非常简单的签到题
- Dojo1.11官方教程文档翻译(1.2)Hello Dojo!
- UGUI替换Image图片的三种方式
- tablayout+viewpager+fragment组合使用以及懒加载机制
- NameNode格式化失败问题的解决
- 常用游戏逻辑编程
- 验证二叉树后序遍历序列是否符合要求
- “无中生有”计算机视觉探奇
- 我对C++ string和length方法的一个长期误解------从protobuf序列化说起(没处理好会引起数据丢失、反序列化失败哦!)