Divisibility(区间找数,普通方法超时)

来源:互联网 发布:非电气化铁路 知乎 编辑:程序博客网 时间:2024/06/10 18:53

                               Divisibility

Time Limit:1000MS    Memory Limit:262144KB    64bit IO Format:%I64d & %I64u

SubmitStatus

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 byk.

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;elsereturn 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); }


0 0
原创粉丝点击