0
已解决
宫成
中级守护
中级守护
5606 小C的数学(math)
经验值:1200 时间限制:1000毫秒
2020初中合肥市赛
不许抄袭,一旦发现,直接清空经验!
题目描述 Description
小C想要成为一名OIer,于是他提前学习数学,为OI做好铺垫。
这一天,他的数学老师给了一道题:给定正整数a,以及给定一个区间[b,c],其中b,c均为整数(b,c保证非负)。寻找所有合法的x,满足b≤x≤c,并且a能够整除x,即x除以a的余数为0。
可小C很懒,不想找出来所有的解,他只想知道这样的x有多少个。
输入描述 Input Description
从文件math.in中读取数据。
共一行,依次三个整数a,b,c,如题目所描述。
输出描述 Output Description
输出到文件math.out中
仅一行一个数,表示答案。
样例输入 Sample Input
【样例输入1】 2 3 6 【样例输入2】 3 1 7
样例输出 Sample Output
【样例输出1】 2 【样例输出2】 2
数据范围及提示 Data Size & Hint
对于40%的数据: 0<a≤103,0≤b≤c≤103;
对于70%的数据: 0<a≤107,0≤b≤c≤107;
对于100%的数据: 0≤a≤109,0≤b≤c≤1018.
。
怎么做到不超时
#include<iostream>
using namespace std;
int main(){
long long n,m,a,cnt=0;
cin>>a>>n>>m;
for(int i=n+1;i<=m;i++){
if(a%i==0||i%a==0){
cnt++;
}
}
cout<<cnt;
return 0;
}