首页 > 编程知识 正文

C语言求多项式乘法,c语言求多项式前n项和

时间:2023-05-04 00:13:55 阅读:106905 作者:218

本原多项式是近世代数中的概念,是唯一分解满足全环上所有系数的最大公约数为1的多项式。 原始多项式不是零,与原始多项式相关的多项式保持原始多项式;

1 )在MATLAB中,本原多项式可以由函数primpoly(x )生成。

2 )在MATLAB中,可以通过函数gfprimfd(m,' min ' )找到最小的本原多项式。

cdn以下资源,“本原多项式c语言生成”;

跑起来,可以生成、测试、求逆是否为本原多项式;

将新的MFC单文档工程poly.h和poly.cpp添加到项目中; 试着生成; 发生了下图的错误;

如果将' stdafx.h '添加到相应的文件中,此错误将消失;

重建,发生下图错误;

将' stdafx.h '放在其他头文件之前,然后单击、

输入7时列出的本原多项式如下。

按照原始代码,调用Poly类的listPrimitive函数,传递输出了原始多项式序列的最高项数。 然后传递7,同时传递设备描述表句柄并输出到过去;

原始函数如下:此函数只有一个cout输出语句。

按照其原义简单地变更为pDC-TextOut ()输出; 如下图所示;

运行了一下,只是输出了很多数字; 多项式是如何输出的呢? 是x^4 x^3 1。 这样的输出怎么样?

看代码; c的操作符过载了; 在该重载上加上加号,根据情况为1或x或x^; 是这样输出的多项式;

原始代码; 生成的多项式放入向量中;

void poly :3360 generate irreducible (const poly :3360 size _ TM )//生成次数为m以下的不可约多项式表Polyf; poly :3360 irreducible.empty () poly :3360 irreducible.push _ back (' 10 ' ) ); poly :3360 irreducible.push _ back (poly (' 11 ); //计算的不可约多项式f.coef.resize (poly :3360 irreducible [ poly :3360 irreducible.size ()- 1].coef.size ),f.coecoed f.Coef.push_back(1; wile(f.coef.size ()=) m1 ) ) {size_ti; const size_tsize=f.coef.size (; constsize_tmax_exp=(size-1 )/2; constsize _ tlist _ size=poly :3360 irreducible.size (; //整除测试且被除数小于或等于max_exp次的所有不可约多项式i=0; ilist _ size poly :3360 irreducible [ I ].coef.size (=max _ exp1) f%poly:irreducible I; (if ) I==list _ size|| poly :3360 irreducible [ I ].coef.size ) max_exp 1) /如果都不能被整除,则为约多项式///cerr/derr ' DD //生成下一个被测多项式i=0; wile(Isize ) if ) f.coef[I]==0) {f.coef[i]=1; 黑; } else {f.coef[i]=0; (I ); (if ) I==size ) f.coef.push_back(1); }//for(size_tI=0; I poly : irreducible.size (; I )//cerr ' debug : irreducible ' poly : irreducible [ I ] endl; //}先稍微了解一下那个代码; 改造listPrimitive,

void poly :3360 list primitive (const poly : size _ TM,CDC* pDC ) (/打印m次以下的本原多项式//生成次数为m以下的不可约多项式表CString str1; int row; poly :3360通用集成电路(m ); size_ti=0; DWORDTick=GetTickCount (; ///while (I poly :3360 irreducible.size (poly :3360 irreducible [ I ].coef.size )=m 1 )/if ) poly 33333336666==. isprimitive_step2() ) (/cout poly : irreducible [ I ] endded//}/}//I; //}row=0; while (I poly :3360 irreducible.size ) [ I ] . coef.size )=m 1 ) if ) poly:irreducible ) ) coef.size )=m 1 ) poly 33603360 { if (poly :0 irreducible [ I ] ] poly : irreducible [ I ] PDC-textout (20i * 10,20 row * I,str1); intidx=6; while(idx=0) if ) idx==0) PDC-textout ) 20i * 30,20 row * I,'1' ); }elseif(idx==1) PDC-textout ) 20i * 30,20 row * I,' x ' ); (else ) PDC-textout ) 20i * 30,20 row * I,' x^ '; (idx----); }}I; //cerr ' debug : ' gettickcount (-tick ' ms elapsed!' endl; 请看输出; 做得不好,

idx值必须是每次生成的各个多项式的长度; 先这么多;

扩频通信的扩频码序列结构也基本适用了本原多项式; 同时将此文列入通信软件开发分类;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。