求助
查看原帖
求助
793625
Pink_Cut_Tree楼主2023/2/1 15:32
#include<bits/stdc++.h>
using namespace std;
bool prime(int a){
	for(int i=2;i<=sqrt(a);i++){
		if(a%i==0){
			return false;
		}
	}
return true;
// true是质数,false是合数 
}
// (p-1)(q-1)+1=p*q-p-q+2
int main(){
	int k;
	cin>>k;
	long long n,e,d;
	double p,q;
	bool flag;
	for(int i=0;i<k;i++){ //此处的循环是以k为单位 
	flag=false;
		cin>>n>>e>>d;
		if(prime(n)==true){
			printf("NO\n");
		}
		else{
			for(int p=2;p<(n/2);p++){ //此处的循环是凑(p,q)的 
				q=1.0*n/p;
				if(q==floor(q)){
					if(e*d==(-p-q+p*q+2)){
						cout<<p<<" "<<q<<"\n";
						flag=true;
						break;
					}
				}
			}
			if(flag==false){
				printf("NO\n");
			}
		}
	}
return 0;
} 

满江红(现代版)

2023/2/1 15:32
加载中...