50求优化(悬关)
查看原帖
50求优化(悬关)
972511
Ljh421楼主2024/8/20 09:07

前五个AC,后面的TLE。

#include<bits/stdc++.h>
using namespace std;
int n;
bool aaa(int a,int b,int c){ //最大公约数
	for(int i=min(a,b);i>c;i--){
		if(a%i==0&&b%i==0){
			return false;
		}
	}
	return true;
}
bool bbb(int a,int b,int c){ //最小公倍数 
	if(c%a!=0) return false;
	for(int i=max(a,b);i<c;i++){
		if(i%a==0&&i%b==0){
			return false;
		}
	}
	return true;
}
int main(){

	scanf("%d",&n);
	for(int i=1,a0,a1,b0,b1;i<=n;i++){
		int ans=0;
		scanf("%d%d%d%d",&a0,&a1,&b0,&b1);
		for(int j=a1;j<=b1;j+=a1){ 
			if(aaa(j,a0,a1)&&bbb(j,b0,b1)){
				ans++;
			} 
		}
		printf("%d\n",ans);
	}

	return 0;
}
2024/8/20 09:07
加载中...