两个多项式相乘求解系数数组算法
生活随笔
收集整理的這篇文章主要介紹了
两个多项式相乘求解系数数组算法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目描述:
給出兩個多項式,最高次冪分別為n和m,求解這兩個系數(shù)相乘得到的系數(shù)數(shù)組。
分析:
最高次冪如果是m和n,那么他們相乘得到的系數(shù)數(shù)組的最高次冪一定是n+m,對于其他的系數(shù),不妨設(shè)a[],b[]是給定的兩個系數(shù)數(shù)組,c[]是求解的答案數(shù)組,那么:
c[i + j] += a[i] * b[j];
這是數(shù)學(xué)公式的推導(dǎo),可以求得。
代碼:
#include<cstdio> #include<iostream> #include<cstring> #include<string> using namespace std; const int N = 100; int a[N]; int b[N]; int c[N*2];void init(int n,int m){for(int i =0 ; i<n ; ++i){cin>>a[i];}for(int j = 0 ; j< m; ++j){cin>>b[j];} } void cal(int n,int m){for(int i = 0 ;i<= n; ++i){for(int j = 0 ;j <= m;++j){c[i+j] += a[i] * b[j];}} } void prt(int n,int m){for(int i =0 ;i <= n+m;++i){cout<<"c["<<n+m -i<<"] = "<<c[i]<<endl;}} int main(){int n,m;while(cin>>n>>m){init(n+1,m+1);cal(n,m);prt(n,m);} return 0; }?
轉(zhuǎn)載于:https://www.cnblogs.com/dqsBK/p/5351783.html
總結(jié)
以上是生活随笔為你收集整理的两个多项式相乘求解系数数组算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++常用特性原理解析
- 下一篇: 计算机中的字符编码