题解:P12869 [蓝桥杯 2025 国 Python A] 特殊整数对的数量
题解:P12869 [蓝桥杯 2025 国 Python A] 特殊整数对的数量
-
值得注意的是,这是一道提交答案题。
-
所以我们不必考虑题目中的时间限制,直接暴力(当然需要优化一下)即可。
暴力枚举复杂度为 \(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)