Divisibility
2016-07-22 09:23
239 查看
Divisibility
Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u
Submit Status
Description
Find the number of k-divisible numbers on the segment [a, b]. In other words you need to find the number of such integer
values x that a ≤ x ≤ b and x is divisible
by k.
Input
The only line contains three space-separated integers k, a and b (1 ≤ k ≤ 1018; - 1018 ≤ a ≤ b ≤ 1018).
Output
Print the required number.
Sample Input
Input
Output
Input
Output
求出来在a到b所有k的倍数
不可以直接用循环会超时 直接看代码
Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u
Submit Status
Description
Find the number of k-divisible numbers on the segment [a, b]. In other words you need to find the number of such integer
values x that a ≤ x ≤ b and x is divisible
by k.
Input
The only line contains three space-separated integers k, a and b (1 ≤ k ≤ 1018; - 1018 ≤ a ≤ b ≤ 1018).
Output
Print the required number.
Sample Input
Input
1 1 10
Output
10
Input
2 -4 4
Output
5
求出来在a到b所有k的倍数
不可以直接用循环会超时 直接看代码
#include<cstdio> int main() { long long k,a,b; while(~scanf("%lld %lld %lld",&k,&a,&b)) { if(a<0&&b>0){//a和b之间有一个0需要加上 a=-a; printf("%lld\n",a/k+b/k+1); } else if(a<0&&b<=0){//同为负的情况 a=-a;b=-b; if(b%k==0) printf("%lld\n",a/k-b/k+1); else printf("%lld\n",a/k-b/k); } else{//同为正的情况 if(a%k==0) printf("%lld\n",b/k-a/k+1); else printf("%lld\n",b/k-a/k); } } return 0; }
相关文章推荐
- 几款极好的 JavaScript 文件上传插件
- VS2013的开发环境下Qt的下载、安装、配置
- form表单取消按钮自动提交
- java产生随机数的三种方式
- mysql awr v1.0.1发布
- oracle || 跟(+) + substr 函数 用法总结
- Hadoop:基础环境配置
- 快学scala 第十一章 操作符 读书笔记及习题答案代码
- 基于FPGA的Alpha半透明图像叠加算法实现
- crontab运行shell脚本报sudo错误
- [李景山php]每天laravel-20160921|Redis Database.php
- Post Views Options怎么设置,WP-PostViews的后台设置五步法详解
- java反向工程神器ermaster
- hdu-1242 Rescue DFS解法
- Android 6.0 通话UI设计模式分析(MVC\MVP\MVVM)
- 深入理解 Android 中的 Matrix
- const 指针与指向const的指针
- Mybatis关联查询,查询出的记录数量与数据库直接查询不一致,如何解决?
- .NET之美——C# 中的委托和事件
- python 模拟登录csdn并获取博客列表等操作