• 1009 Product of Polynomials (25 分)


    捕获.PNG

    解题思路:

    定义三个数组double a[1001],b[1001],c[2001]分别用来表示多项式A,多项式B,和它们的成绩,其中下标表示指数,元素值代表系数

    注意点:数组c的长度要大于2001,a,b,c都要初始化为零

    #include <iostream>
    #include<math.h>
    using namespace std;
    int main()
    {
    	//数组下标代表指数,元素值代表系数
    	double a[1001] = { 0 }, b[1001] = { 0}, c[2001] = {0};
    	int n, m;
    	cin >> n;
    	for (int i = 0;i < n;i++) {
    		int ex;
    		double ef;
    		cin >> ex >> ef;
    		a[ex] = ef;
    	}
    	cin >> m;
    	for (int i = 0;i < m;i++) {
    		int ex;
    		double ef;
    		cin >> ex >> ef;
    		b[ex] = ef;
    	}
    	for (int i = 0;i < 1001;i++) {
    		//系数不为零时
    		if (a[i] != 0) {
    			for (int j = 0;j < 1001;j++) {
    				if (b[j] != 0) {
    					double x = a[i] * b[j];//相乘后的系数
    					int k = i + j;//相乘后的指数
    					c[k] += x;
    				}
    			}
    		}
    	}
    	int num = 0;
    	for (int i = 0;i < 2001;i++) {
    		if (c[i]!=0)
    			num++;
    	}
    	cout << num ;
    	for (int i = 2000;i >=0;i--) {
    		if (c[i]!=0) {
    			printf(" %d %.1lf", i, c[i]);
    		}
    	}
    	return 0;
    }
    
    
  • 相关阅读:
    windows 动态库的封装以及调用
    ffmpeg 转码命令与ffplay
    YUV格式与RGB格式
    Qt QTimer
    Qt QLineEdit
    Qt setStyleSheet
    python查询
    INSERT INTO .. ON DUPLICATE KEY更新多行记录
    PHP读取流文件
    curl上传、下载、https登陆
  • 原文地址:https://www.cnblogs.com/chance-zou/p/10478805.html
Copyright © 2020-2023  润新知