社区讨论
只会二次及以下的
P2312[NOIP 2014 提高组] 解方程参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @lqixshxm
- 此快照首次捕获于
- 2023/12/24 11:35 2 年前
- 此快照最后确认于
- 2023/12/24 14:22 2 年前
只会做二次的,有哪位大佬能教一下二次以上的?
CPP#include<bits/stdc++.h>
using namespace std;
const int N=300000;
int n,m;
int e[N],a,b,c,x,x1,x2;
int main(){
cin>>n>>m;
if(n==1){
cin>>a>>b;
x=-a/b;
if(x>=1&&x%1==0) cout<<1<<endl<<x;
else cout<<0;
return 0;
}
if(n=2){
cin>>c>>b>>a;
int zoo=b*b-4*a*c;
if(zoo<0) cout<<0;
else{
x1=(-b+sqrt(zoo))/(2*a);
x2=(-b-sqrt(zoo))/(2*a);
if(x1>=1&&x2>=1&&x1%1==0&&x2%1==0&&x1<=m&&x1!=x2) cout<<2<<endl<<x2<<endl<<x1;
else if((x1>=1&&x2<1&&x1%1==0&&x1<=m)||(x1==x2&&x1>=1&&x1<=m&&x1%1==0)) cout<<1<<endl<<x1;
else cout<<0;
return 0;
}
}
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...