题解:P10576 [蓝桥杯 2024 国 A] 儿童节快乐
注意:本题没有数据……我的做法可能是错的。
题意:
求出所有满足以下条件的整数
-
-
# 思路: 设 $a^2=n+10120300500$,$b^2=n-10120300500$。
根据平方差公式可得:
然后打一个暴力枚举
代码:
#include<bits/stdc++.h>
#define int __int128
using namespace std;
int sum=20240601000,ans=0;
inline void write(register int x)
{
if(x<0)
{
putchar('-');
x=-x;
}
if(x>9)write(x/10);
putchar(x%10+48);
}
signed main()
{
for(int i=1;i*i<sum;i++)
{
if(sum%i==0&&(sum/i-i)%2==0)
{
int b=(sum/i-i)/2,a=(sum/i)-b;
if(a*a-b*b==sum)ans+=a*a-sum/2;
}
}
write(ans);
return 0;
}