Divisibility 【數學計數】Codeforces 597A

q923714892發表於2020-04-06
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

#include<stdio.h>
int main()
{
	__int64 k,a,b,sum,i;
	while(scanf("%I64d%I64d%I64d",&k,&a,&b)!=EOF)
	{
		sum=0;
		if(a>=0)
		{
				sum=b/k-a/k;
				if(a%k==0)
				sum++;
		}
	
		else if(b<=0)
		{
			a=-a;
			b=-b;
			sum=a/k-b/k;
			if(b%k==0)
			sum++;
		}
		else
		sum=(-a)/k+b/k+1;
		printf("%I64d\n",sum);
	}
	return 0;
}


相關文章