2019-08-06 A 1009 Product of Polynomials

1009与1002其实是不同操作的同一道题,因此算法上略有不同但思路大致相似,有了上次的教训,这道题进行的非常顺利,但是在调试代码时也发现了不少小问题,比如只想着要把多项式相乘却忽略了次数相同的项的系数的累加,还有就是数据类型的问题,详见patB 1011 A+B 和 C

#include <iostream>
using namespace std;
int main() {
    double p[1001] = {0.0}, re[2001] = {0.0}, a;
    int m,n,k; 
    scanf("%d", &m);
    for(int i = 0; i < m; i++){
        scanf("%d%lf", &k, &a);
        p[k] = a;
    }
    scanf("%d", &n);
    for(int i = 0; i < n; i++){
        scanf("%d%lf", &k, &a);
        for(int j = 0; j < 1001; j++){
            re[k + j] += a * p[j];
        }
    }
    int t = 0;
    for(int i = 0; i < 2001; i++){
        if(re[i] != 0.0) t++;
    }
    printf("%d", t);
    for(int i = 2000; i >= 0; i--){
        if(re[i] != 0.0) 
        printf(" %d %.1f", i, re[i]);
    }
    return 0;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容