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 thata ≤ 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
题很水 但我wa了好多次
#include<cstdio> #include<cstring> #include<cmath> #include<queue> #include<algorithm> using namespace std; int main() { long long k,a,b; scanf("%lld%lld%lld",&k,&a,&b); long long sum; if(a>0) { sum=b/k-a/k; if(a%k==0) { sum++; } } if(b<0) { sum=(-a)/k-(-b)/k; if((-b)%k==0) { sum++; } } if(a==0) { sum=b/k+1; } if(b==0) { sum=(-a)/k+1; } if(a<0&&b>0) {; sum=b/k+(-a)/k+1; } printf("%lld\n",sum); return 0; }