题解:P12869 [蓝桥杯 2025 国 Python A] 特殊整数对的数量

题解:P12869 [蓝桥杯 2025 国 Python A] 特殊整数对的数量

Link

  • 值得注意的是,这是一道提交答案题。

  • 所以我们不必考虑题目中的时间限制,直接暴力(当然需要优化一下)即可。

暴力枚举复杂度为 \(O(10^{12})\),显然会炸。我们可以考虑优化一下。因为 \(a+b\)\(2025\) 的倍数且 \(a+b<10^6\),所以我们可以直接枚举 \(a+b\)。然后单独枚举 \(a\) 并求出 \(b\)。最后判断是否满足 \(a \perp b\)\(1 \le a < b < 10^{6}\) 即可。

最后答案为 \(93816892\)

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll cnt;
int main(){
	for(ll i=2025;i<=2e6;i+=2025){
		for(ll a=1;a<=i/2;a++){
			ll b=i-a;
			if(__gcd(a,b)==1&&b>a&&b<=1e6) cnt++;
		}
	}
	cout<<cnt;
    return 0;
}
print(93816892)
posted @ 2025-06-22 18:58  M1_Byte  阅读(16)  评论(0)    收藏  举报