正在阅读:梅西迭代算法的实现梅西迭代算法的实现

2004-06-14 10:00 出处:CSDN 作者:baikeley1974 责任编辑:linjixiong


          {
              ft[i] = temp[i]; file://先把temp的值拷贝到ft目的数组中。
          }
          for (int i = 0 ;i<f[n].size(); ++i) file://把两个多项式加到一起
          {
              if(ft[i] != f[n][i]) file://如果多项式的对应系数不等,加后系数是1
                   ft[i] = 1;
              else
                   ft[i] = 0;  file://如果多项式的对应系数相等,加后系数是0
          }         
          f.push_back(ft); file://f[n+1] = ft
          len = max(l[n],n+1-l[n]);
          l.push_back(len);//找L(n+1)=max(ln,n+1-ln)
     }
  /*   cout <<"f(x)=1" ; file://如需要可以输出中间结果
     for (int i=1; i<f[n].size();++i) file://常数项已经是1了,故忽略第一个
    {
       if (f[n][i])
           cout<<"+X^"<<i;
     }
     cout <<endl;
      getchar();
    */ 
     if(n>=N-1) break;
     ++n;
 }while(1);
 if(outfile) file://输出文件合法
 {
      outfile <<"ln="<<l.back()<<endl; file://输出ln
      outfile <<"f(x)=1" ;  file://输出结果多项式,并赋常数项为1 
      for (int i=1; i<f[N].size();++i) file://常数项已经是1了,故忽略第一个
      {
        if (f[N][i])
             outfile<<"+X^"<<i;
      }
      outfile<< endl;
      cout <<"结果已经同时写入到output.txt文件中了。"<<endl;
 }
 cout << "本算法的最终结果是:"<<endl;    
 cout <<"ln="<<l.back()<<endl; file://输出ln
 cout <<"f(x)=1" ;  file://输出结果多项式,并赋常数项为1 
 for (int i=1; i<f[N].size();++i) file://常数项已经是1了,故忽略第一个
 {
      if (f[N][i])
            cout<<"+X^"<<i;
 }
 cout<< endl<<endl<<endl;
 cout << "请按任意健退出!" ;
 getchar();
 return 0;
}

 


察看评论详细内容 我要发表评论
作者笔名 简短内容 发表时间
:
键盘也能翻页,试试“← →”键

相关文章

关注我们

最新资讯离线随时看 聊天吐槽赢奖品