PAT---A1009. Product of Polynomials (25)
来源:互联网 发布:java跳转页面代码 编辑:程序博客网 时间:2024/06/05 16:18
Product of Polynomials (25)
This time, you are supposed to find A*B where A and B are two polynomials.
Input Specification:
Each input file contains one test case. Each case occupies 2 lines, and each line contains the information of a polynomial: K N1 aN1 N2 aN2 … NK aNK, where K is the number of nonzero terms in the polynomial, Ni and aNi (i=1, 2, …, K) are the exponents and coefficients, respectively. It is given that 1 <= K <= 10, 0 <= NK < … < N2 < N1 <=1000.
Output Specification:
For each test case you should output the product of A and B in one line, with the same format as the input. Notice that there must be NO extra space at the end of each line. Please be accurate up to 1 decimal place.
Sample Input
2 1 2.4 0 3.2
2 2 1.5 1 0.5
Sample Output
3 3 3.6 2 6.0 1 1.6
参考代码:
#include <iostream>#include <stdio.h>using namespace std;int main(){ int max_size = 1001; //因为由题目可知,Ni可以取到1000,所以这里的最大值设为1001。a[1001]的最后一项是a[1000] double array_a[max_size] = {0}; //用来存储第一次输入的数据,Y=array_a[X]表示的是指数为X的那一项的系数为Y double array_b[max_size] = {0}; //用来存储第二次输入的数据 double array_c[max_size*2] = {0}; //用来存储a与b两个数组中元素两两相乘后的结果 int cin_a; //用来存储输入的项的个数,即K int a; //暂存数据 double b; //暂存数据 int count_1 = 0; //用来记录结果中不为0的项的个数 cin >>cin_a; while(cin_a--) //循环cin_a次 { cin >>a>>b; array_a[a]= b; //Y=array_a[X]表示的是指数为X的那一项的系数为Y } cin >>cin_a; //重新获取cin_a,可以重新定义变量,但这里为了节约内存,遂循环使用定义的变量 while(cin_a--) { cin>>a>>b; array_b[a] = b; } for(int i=0;i<max_size;i++) //把两个多项式中都不为0的项的系数两两相乘 for(int j=0;j<max_size;j++) if((array_a[i]!=0)&&(array_b[j]!=0)) { array_c[i+j] += array_a[i] * array_b[j]; } for(int i=0;i<max_size*2-1;i++) //用count_1来记录相乘的结果中不为0的项的个数 if(array_c[i]!=0) count_1++; cout <<count_1; for(int i=max_size*2-1;i>=0;i--) //从最后一项开始进行检测和打印,因为越靠后,次数越大,题目要求按照次数从大到小打印 if(array_c[i]!=0) printf(" %d %.1f",i,array_c[i]); //将系数保留一位小数打印,因为c++实现较为麻烦,遂采用c语言实现 return 0;}
- PAT A1009 Product of Polynomials (25)
- 【PAT】A1009. Product of Polynomials (25)
- PAT---A1009. Product of Polynomials (25)
- PAT A1009. Product of Polynomials (25)
- PAT A1009 Product of Polynomials(25)
- PAT A1009 Product of Polynomials
- PAT A1009. Product of Polynomials
- A1009 Product of Polynomials (25)
- PAT-A1009 Product of Polynomials (25)(模拟)
- PAT A1009. Product of Polynomials(多项式乘法)
- 1009. Product of Polynomials (25)-PAT
- 【PAT】1009. Product of Polynomials (25)
- (PAT)1009. Product of Polynomials (25)
- PAT 1009. Product of Polynomials (25)
- PAT A 1009. Product of Polynomials (25)
- PAT 1009. Product of Polynomials (25)
- PAT 1009. Product of Polynomials (25)
- PAT 1009. Product of Polynomials (25)
- 八大排序
- subsystem
- 基础的Cookie操作
- quick_power(快速幂)
- iOS TableView滚动到最底部(带滚动效果)
- PAT---A1009. Product of Polynomials (25)
- 2016.12.29 反射
- 从ecplise转Android studio的小细节
- iOS 工作之余小总结(五)--(1) Block在程序中的三个用法
- Spring Boot JPA - No qualifying bean of type
- C++之带有默认参数值的构造函数
- javaweb--基础介绍
- 安装Scrapy过程中的错误总结及学习方法
- 《学习笔记》之CentOS下JDK安装与配置