洛谷-P8814 & CSPJ-2022#2 题解
前言
蒟蒻感叹!许多大佬的思路真的很复杂,于是为了部分没学过的人写了这篇题解(其实就是为了咕值),值得一看!
正文
从题中可得
可得
那么,如何判定原式无解?需注意题中说明
代码:
#include<iostream> #include<math.h> #define min(a,b) (a<b?a:b) #define max(a,b) (a>b?a:b) using namespace std; long long n,e,d,p,q,T; int main(){ ios::sync_with_stdio(false),cin.tie(0); cin>>T; while(T--){ cin>>n>>d>>e; long long s1=n-e*d+2;//p+q long long s2=sqrt(s1*s1-4*n);//p-q p=(s1+s2)/2,q=s1-p; if(p*q==n) cout<<min(p,q)<<" "<<max(p,q)<<"\n";//题中说先大后小 else cout<<"NO\n"; } return 0; }
后附
日志
v1.0 on 2022.11.04: 发布
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步