给出3个整数L,R,x。闭区间[L,R]中,x的倍数出现了几次。
链接:https://ac.nowcoder.com/acm/contest/308/A
来源:牛客网
输入描述:
第一行包括一个正整数T(T<=1000),表示T组数据。 接下来T行,每行包括3个正整数L,R,x。 1≤L≤R≤10^18 1≤x≤10^18
输出描述:
输出T行,每一行一个整数,表示答案。
示例1
输入
1
2 5 3
输出
1
2018 12 07
以下为我的代码,分别用C++和Python
测试能够实现功能
#include <iostream>
using namespace std;
int main()
{
int T,i=0;
cin>>T;
int L[T],R[T],x[T],y[T];
for (;i<T;i++)
cin>>L[i]>>R[i]>>x[i];
for (i=0;i<T;i++){
int p=0;
int t=0;
while (p<=R[i]){
t++;
p=x[i]*t;
}
y[i]=t-1;
}
for (i=0;i<T;i++)
cout<<y[i]<<endl;
return 0;
}
y=[]
x=[]
L=[]
R=[]
T=int(input())
for i in range(T):
a,b,c=map(int,input().split())
L.append(a)
R.append(b)
x.append(c)
for i in range(T):
p=[0]
t=0
while p[t]<=R[i]:
p.append(x[i]*(t+1))
t=t+1
y.append(len(p)-2)
for k in range(T):
print(y[k])