Divisibility
Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u
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 valuesx that a ≤ x ≤ b andx is divisible by k.
Input
The only line contains three space-separated integersk, a andb (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 找规律,但要注意数据长度:#include<stdio.h> long long abs(long long x) { if(x<0) return -x; else return x; } int main() { __int64 n,m,k,sum; scanf("%I64d%I64d%I64d",&k,&n,&m); if(n>0&&m>0) sum=abs(m/k)-abs((n-1)/k); else if(n<0&&m<0) sum=abs(n/k)-abs((m+1)/k); else sum=abs(n/k)+abs(m/k)+1; printf("%I64d\n",sum); }