问题标题: 酷町堂:4833 合并一元二次方程

0
0
已解决
周建勋
周建勋
中级光能
中级光能

题目描述 Description

现在有两个一元二次方程,ax2+bx+c和dx2+ex+f,现在将这两个一元二次方程合并成一个,得到一个形如(a+d)x^2+(b+e)x+(c+f)的一元二次方程。
如果结果中,系数为0,则这一项不输出;如果系数为1,则系数不输出。

输入描述 Input Description

第一行,3个空格隔开的正整数,a b c
第二行,3个空格隔开的正整数,d e f

输出描述 Output Description

形如(a+d)x^2+(b+e)x+(c+f)的一元二次方程,这里的括号不需要打印出来

样例输入 Sample Input


 

-1 2 1
1 -3 -1

样例输出 Sample Output


 

-x

周建勋在2020-02-27 16:07:36追加了内容

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int a[1000],b[1000];
int main(){
    int n, t, p;
    bool f = true;
    cin >> n;
    p = n;
    for(int i=0;i<n;i++){
        cin>>t;
        t=a[i]+b[i];
        if(p==-1){
            if(t==0) cout<<" ";
            else cout<<"+"<<t;
            continue;
        } 
        if(t==0) {
            p --;
            continue;
        }
        if(t<0) cout << "-";
        if(t>0 && !f) {
            cout << "+";
        }
        if(abs(t)!=1 || p==0) cout << abs(t);
        if(p>0) cout << "x";
        if(p>1) cout << "^" << p;
        p --;
        f = false;        
    }
    return 0;
}

周建勋在2020-02-27 16:09:04追加了内容
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int a[1000],b[1000];
int main(){
    int n, t, p;
    bool f = true;
    cin >> n;
    p = n;
	for(int i=0;i<n;i++){
		cin>>t;
		t=a[i]+b[i];
        if(p==-1){
            if(t==0) cout<<" ";
            else cout<<"+"<<t;
            continue;
        } 
        if(t==0) {
            p --;
            continue;
        }
        if(t<0) cout << "-";
        if(t>0 && !f) {
            cout << "+";
        }
        if(abs(t)!=1 || p==0) cout << abs(t);
        if(p>0) cout << "x";
        if(p>1) cout << "^" << p;
        p --;
        f = false;		
	}
    return 0;
}哪错了?

 


2
已采纳
赵逸凡
赵逸凡
初级启示者
初级启示者

直接模拟一遍,代入计算,如果a+d为0就不输出第一项,如果b+e为0就不输出第二项,如果c+f为0就不输出第三项

赵逸凡在2020-02-27 14:13:08追加了内容

赵逸凡在2020-02-27 14:15:40追加了内容

1
龙舟
龙舟
高级光能
高级光能

你的问题我这种菜鸡是回答不了的

ps:陈顺,想我没?

1
龙舟
龙舟
高级光能
高级光能

@赵逸凡   你评论我什么呀,我看不了,请直接在回答界面中说

0
赵逸凡
赵逸凡
初级启示者
初级启示者

@龙舟 你怎么被禁言了还能发回答

 

0
龙舟
龙舟
高级光能
高级光能

先不要登录,下面有一个我要回答,点击后会让你登录,登录完毕后就可以回答了

0
王子健
王子健
初级天翼
初级天翼

周建勋,这道题你没写啊。

我给你我的一些思路:

先将题目中所给的式子套一遍,然后根据上课邢老师的讲解,就是那一段里面的代码来完善化简

这样就可以AC啦

PS:龙舟想我没

望采纳,谢谢

0
王子健
王子健
初级天翼
初级天翼

你不是已经采纳了吗???

但鉴于你是我的基友,我跟你说一下你错误的店:

1.

cin >> n去掉

p=n 改为 p=2

2.

改为for (int i=1; i<=3; i++)

循环内部没有问题 (但建议删除第一个if,不要也行)

3.

在这个循环上面加上两个for输入a、b、数组

其他的就没有问题了

不求采纳,只求能帮助你,谢谢

我要回答