今年网络安全的一个小作业,简单用C++实现了下 有些粗糙 先放这儿吧 ^_^
算法描述 考完试再附上
ExEuclid简单实现/* * 文件名称:myecu.cpp * 摘 要:Extend Euclid Algorithm * 作者:ld * 完成日期:25th June,2010 */ #include "stdafx.h" #include #include #include #include #include using namespace std; typedef struct polyNode//多项式节点项 { int coef; int power; }polyNode; void CreatePoly(vector&poly);//构造多项式 void SortPolyByPower(vector&poly);//对多项式排序,按照降幂 vector PolyAdd(vectorp1,vectorp2);//多项式加法 vector PolySub(vectorp1,vectorp2);//多项式减法 vector PolyMultiply(vectorp1,vectorp2);//多项式乘法 vector PolyDiv(vector&p1,vectorp2);//多项式除法 vector Eculid(vector&p1,vector&p2);//扩展欧几里得算法 void SortPolyByPower(vector&poly)//OK { vector::iterator iter,tmpIter; iter = poly.begin(); for (; iter != poly.end(); iter++)//按照幂数高低排序 { tmpIter = iter + 1; int maxPower = (*iter).power; for (; tmpIter != poly.end(); tmpIter++) { if ((*tmpIter).power > (*iter).power) { iter_swap(iter,tmpIter); } } } } void CreatePoly(vector&poly)//OK { static int