200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 解二元一次方程组 解一元三次方程 帮你解决困难的数学题目

解二元一次方程组 解一元三次方程 帮你解决困难的数学题目

时间:2019-06-11 18:59:29

相关推荐

解二元一次方程组 解一元三次方程 帮你解决困难的数学题目

说明

形如:ax3+bx2+cx+d=0ax

3

+bx

2

+cx+d=0这样的一个一元三次方程。给出该方程中各项的系数(a,b,c,d均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差的绝对值 >1。要求它的三个实根。

输入格式

一行四个实数:a,b,c,d。a,b,c,d。

输出格式

一行由小到大输出这三个实根(根与根之间留有空格),并精确到小数点后2位。

#include<bits/stdc++.h>using namespace std;float a,b,c,d,x,g[4][3];int g1=1;int main(){//freopen("B.in","r",stdin); //freopen("B.out","w",stdout);cin>>a>>b>>c>>d;d=0-d;bool fir,sec;for(float i=-100;i<=100;i++){float sum=a*i*i*i+b*i*i+c*i;sec=sum>d;if(fir!=sec && i!=-100){g[g1][1]=i-1,g[g1][2]=i,g1++;}fir=sum>d;}float k;long double eps=pow(10,-3);for(int i=1;i<=3;i++){for(k=g[i][1];k<=g[i][2];k+=0.01){float sum=a*k*k*k+b*k*k+c*k;if(abs(sum-d)<=eps){cout<<fixed<<setprecision(2)<<k<<" ";break;}}}return 0;}

描述

给定一个二元一次方程组,形如:

ax+by=c;

dx+ey=f;

x,y代表未知数,a,b,c,d,e,f为参数,求解x,y。

输入格式

输入包含六个整数:a,b,c,d,e,f。

输出格式

输出为方程组的解,一定是两个整数x,y。

#include<bits/stdc++.h>using namespace std;long long a,b,c,d,e,f;long long x,y;int main(){cin>>a>>b>>c>>d>>e>>f;//ax+by=c;dx+ey=f;long long k;k=max(b,e);for(int i=0;i<=b*e;i+=k){if(i%b==0&&i%e==0&&i!=0){k=i;break;}}//10.求最小公倍数k int bb=k/b;int eb=k/e;//2.统一系数,准备消元 //(a*bb-d*eb)x=(c*bb-f*eb);x=(c*bb-f*eb)/(a*bb-d*eb);//ax+by=c;y=(c-a*x)/b;//4.解方程 cout<<x<<" "<<y;return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。