社区讨论

求助,编译报错了

P8814[CSP-J 2022] 解密参与者 4已保存回复 7

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
7 条
当前快照
1 份
快照标识符
@lo7k0dap
此快照首次捕获于
2023/10/27 03:04
2 年前
此快照最后确认于
2023/10/27 03:04
2 年前
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;
int check(long long x){
	long long t=sqrt(x);
	return t*t=x;
}
void fuc(long long n,long long d,long long e){
	long long A=1;
	long long B=n-e*d+2;
	long long C=n;
	if(B*B-4*A*C>=0 && check(B*B-4*A*C)==1 && (-B-sqrt(B*B-4*A*C))%2==0){
		int p=(-B-sqrt(B*B-4*A*C))/2;
		if(p<=n/p && n/p==0){
			cout<<p<<" "<<n/p<<endl;
		}
		else cout<<"NO"<<endl;
	}
	else cout<<"NO"<<endl;
}
int main(){
	int k;
	cin>>k;
	for(int i=1;i<=k;i++){
		long long n,d,e;
		cin>>n>>d>>e;
		fuc(n,d,e);
	}
	return 0;
}

望大佬指教,不胜感激

回复

7 条回复,欢迎继续交流。

正在加载回复...