P9750本地能运行,评测RE
  • 板块灌水区
  • 楼主lhy_cpp
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/6/17 19:16
  • 上次更新2024/6/17 22:03:30
查看原帖
P9750本地能运行,评测RE
987524
lhy_cpp楼主2024/6/17 19:16
#include<bits/stdc++.h>
using namespace std;
bool u[1000005];
void fun(){
	u[0]=1;
	u[1]=1;
	for(int i=2;i<=1000;i++){
		u[i*i]=1;
	}
}
int gcd(int a,int b){
	if(b==0){
		return a;
	}
	gcd(b,a%b);
}
int fenshu(int a,int b,bool f){
	if(a==0&&f==0){
		return 0;
	}
	int q=abs(gcd(a,b));
	int b1=b/q;
	int a1=a/q;
	if(b1==1||a1==0){
		cout<<a1;
	}else{
		if(a1<0&&b1<0){
			cout<<-1*a1<<"/"<<-1*b1;
		}else{
			cout<<a1<<"/"<<b1;
		}
	}
	return 1;
}
void yue(int a,int b){
	int e=1,i=2;
	while(i*i<=a){
		if(a%(i*i)==0){
			a/=(i*i);
			e*=i;
		}else{
			i++;
		}
	}
	if(e==1){
		cout<<"sqrt("<<a<<")/"<<b<<endl;
	}else{
		int q=abs(gcd(e,b));
		int b1=b/q;
		int e1=e/q;
		if(e1<0&&b1<0){
			!b1;
			!e1;
		}
		if(b1==1){
			if(e1==1){
				cout<<"sqrt("<<a<<")"<<endl;
			}else{
				cout<<e1<<"*sqrt("<<a<<")"<<endl;
			}
		}else{
			if(e1==1){
				cout<<"sqrt("<<a<<")/"<<b1<<endl;
			}else{
				cout<<e1<<"*sqrt("<<a<<")/"<<b1<<endl;
			}
		}
	}
}
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);cout.tie(0);
	int t,m,dlt,a,b,c;
	cin>>t>>m;
	fun();
	while(t--){
		cin>>a>>b>>c;
		dlt=b*b-4*a*c;
		if(dlt<0){
			cout<<"NO"<<endl;
			continue;
		}
		if(dlt==0){
			fenshu(-1*b,2*a,1);
			cout<<endl;
			continue;
		}
		if(dlt>0){
			if(u[dlt]==1){
				fenshu(-1*b+sqrt(dlt),2*a,1);
				cout<<endl;
			}else{
				int tmp=fenshu(-1*b,2*a,0);
				if(tmp==1){
					cout<<"+";
				}
				yue(dlt,2*a);
			}
		}
	}
	return 0;
}

以上是代码

2024/6/17 19:16
加载中...