1 条题解
-
0
自动搬运
来自洛谷,原作者为

VenusM1nT
醉后不知天在水 满船清梦压星河 | 明日方舟群 348956527搬运于
2025-08-24 22:12:21,当前版本为作者最后更新于2019-10-21 21:08:56,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
数学题。
好题啊(
首先判断无限解情况,将 移到右边,显然当 为完全平方,即 时有无数解。当然,为了避免精度误差,可以将它写成 。
然后来考虑怎么解此题,我们将左式因式分解,得:令 ,原式可以化为:
然后我们就可以枚举 了。由于 单调减, 单调增,那么有一个时刻会是 且 ,此时可以退出循环。答案合法的条件是 。
#include<bits/stdc++.h> #define MAXN #define reg register #define inl inline #define int long long using namespace std; int a,b,ans; signed main() { scanf("%lld %lld",&a,&b); if(a*a==4*b) return puts("inf"),0; reg int x=1,t=sqrt(b); if(t*t==b) ans++; while(1) { reg int A=x*2-a,B=b-x*x; if(((A>0 && B>0) || (A<0 && B<0)) && !(B%A)) ans++; if(A>0 && B<0) break; x++; } printf("%lld\n",ans); return 0; }
- 1
信息
- ID
- 4592
- 时间
- 1000ms
- 内存
- 500MiB
- 难度
- 5
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者