1055: 寻找倍数
时间限制: 1 Sec 内存限制: 128 MB提交: 599 解决: 12
[ 提交][ 状态][ 讨论版]
题目描述
给你三个数a,b,k,请你找出[a,b]中k的倍数.
输入
三个数依次为k, a, b.其中1≤k≤1018, 0≤a≤b≤1018
输出
一个数字代表答案。
样例输入
2 0 4
样例输出
3
考察对时间复杂度的掌握,一看10^9次方就知道如果用循环肯定超限
#include<stdio.h>
int main()
{
long long a,b,k,sum;
scanf("%lld%lld%lld",&k,&a,&b);
sum = (b-a)/k;
if(a%k==0&&b/k==0)
sum+=2;
else if(a%k==0&&b/k!=0)
sum+=1;
else if(a%k!=0&&b/k==0)
sum+=1;
printf("%lld\n",sum);
return 0;
}