1009 Product of Polynomials

#include<cstdio>
struct Poly {
    int exp;//指数
    double cof;//系数
}poly[1001];//第一个多项式
double ans[2001]={0.0};//存放结果
int main() {
    int n, m, number = 0;
    scanf("%d", &n);//第一个多项式中非零系数的项数
    for (int i = 0; i < n; i++) {
        scanf("%d %lf", &poly[i].exp, &poly[i].cof);//第一个多项式的指数和系数
    }

    scanf("%d", &m);//第二个多项式中非零系数的项数
    for (int i = 0; i < m; i++) {
        int exp;
        double cof;
        scanf("%d %lf", &exp, &cof);
        for (int j = 0; j < n; j++) {
            ans[exp + poly[j].exp] += (cof * poly[j].cof);
        }
    }
    for (int i = 0; i <= 2000; i++) {
        if (ans[i] != 0.0) number++;//累计非零系数的项数
    }
    printf("%d", number);
    for (int i = 2000; i >= 0; i--) {
        if (ans[i] != 0.0) {
            printf(" %d %.1f", i, ans[i]);
        }
    }
    return 0;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容