求大佬看看,TLE了2个点的程序实在不知道怎么优化了
查看原帖
求大佬看看,TLE了2个点的程序实在不知道怎么优化了
258694
PP00544楼主2022/7/24 17:50
#include<bits/stdc++.h>
using namespace std;
long long a1,a2,b1,b2,cnt;
long long gcd(int x,int y){
	if(x%y==0){
		return y;
	}
	return gcd(y,x%y);
}
long long num;
int main(){
	int n;
	cin>>n;
	for(int j=0;j<n;j++){
		cin>>a1>>a2>>b1>>b2;
		num=b2/b1;
		for(long long i=num;i<=b2;i=i+num){
			if(b2*gcd(b1,i)==i*b1){
				if(gcd(a1,i)==a2){
					cnt++;
					//cout<<cnt<<" ";
				}	
			//	cout<<i<<" ";
			}
		}
		cout<<cnt<<endl;
		cnt=0;
	}
	return 0;
}
2022/7/24 17:50
加载中...