2018 华为机试题

单项式
xy————系数是1,次数为2
-2xyz——–系数是-2,次数是xyz指数和:1+1+1=3,是3次的.
多项式
-3x³y²-5x+4y²——–次数是3+2=5.一次项的系数是-5.
-5x+4y²+8x³y²——–次数是3+2=5.五次项的系数是8
这里写图片描述
输入: 这里写图片描述
输出: 这里写图片描述

求最高项系数为4的,系数为复数,先输入实数部分,后输入虚数部分,实部或者虚部为0,则输入0

#include

using namespace std;

int mulr(int r1, int i1, int r2, int i2) {
    return r1 * r2 - i1 * i2;
}
int muli(int r1, int i1, int r2, int i2) {
    return r1 * i2 + r2 * i1;
}

// 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

int main(){
    // input
    int p[2][20];
    for (int i=0; i<2; i++) {
        for (int j = 9; j >=0; j++) {
            cin >>p[i][j];
        }
    }

    // calc & output
    for (int n=8; n>=0; n--) {
        cout<<"n:  "<int ansr = 0;
        int ansi = 0;
        for (int k=0; k<=4; k++) { //!!!
            if (n-k <= 4 && n-k >= 0) { //!!!           
                //cout<<"a("<
                //cout<<"b("<<(n-k)<<")"<<"+";
                ansr += mulr(p[0][k*2+1], p[0][k*2], p[1][(n-k)*2+1], p[1][(n-k)*2]);
                ansi += muli(p[0][k*2+1], p[0][k*2], p[1][(n-k)*2+1], p[1][(n-k)*2]);
            }
        }

        cout<"pause");
    return 0;
}

你可能感兴趣的:(C++题目)