PAT甲级1009 Product of Polynomials:[C++题解]多项式乘法、高精度乘法
生活随笔
收集整理的這篇文章主要介紹了
PAT甲级1009 Product of Polynomials:[C++题解]多项式乘法、高精度乘法
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 題目分析
- 題目鏈接
題目分析
多項(xiàng)用一個(gè)數(shù)組來(lái)表示,數(shù)組下標(biāo)表示多項(xiàng)式的次冪,存的內(nèi)容表示多項(xiàng)式的系數(shù)。
然后用兩重循環(huán)來(lái)計(jì)算多項(xiàng)式的乘法:
for i : 第二個(gè)式子for j:第一個(gè)式子c[i+j] += a[i] * b[j] 什么意思? 一個(gè)多項(xiàng)式的 i次方 和另一個(gè)多項(xiàng)式的j次方相乘,得到的是 i+j次方,系數(shù)是兩者系數(shù)的乘積ac代碼
#include<bits/stdc++.h> using namespace std;const int N =1010;double a[N], b[N], c[2*N];int main(){int k;cin>>k;while(k--){int n;double v;cin>>n>>v;a[n] =v;}cin>>k;while(k--){int n;double v;cin>>n>>v;b[n] =v;}for(int i = 0 ; i<N; i ++){ //模擬多項(xiàng)式乘法for(int j = 0; j<N; j++){c[i+j]+= a[i] * b[j];}}int cnt = 0; // c數(shù)組中非零項(xiàng)的個(gè)數(shù)for( int i = 0 ;i< 2*N; i++) if(c[i]) cnt++;cout<<cnt;//倒序遍歷,因?yàn)橄容敵龃蝺绱蟮南禂?shù)for( int i = 2*N -1 ;i>= 0 ; i--){if(c[i])printf(" %d %.1lf", i , c[i]);}}題目鏈接
PAT甲級(jí)1009 Product of Polynomials
總結(jié)
以上是生活随笔為你收集整理的PAT甲级1009 Product of Polynomials:[C++题解]多项式乘法、高精度乘法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: PAT甲级1002 A+B for Po
- 下一篇: s3c2440移植MQTT