• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 183,  comments - 10,  trackbacks - 0

            示例一
            1 2 3 4 5 6
            ^Z
            1 * x ^ 2 + 3 * x ^ 4 + 5 * x ^ 6
            1 2 3 4 5 6
            ^Z
            1 * x ^ 2 + 3 * x ^ 4 + 5 * x ^ 6
            2 * x ^ 2 + 6 * x ^ 4 + 10 * x ^ 6

            示例二
            1 2 100 10000
            ^Z
            1 * x ^ 2 + 100 * x ^ 10000
            1 3 1000 1000
            ^Z
            1 * x ^ 3 + 1000 * x ^ 1000
            1 * x ^ 2 + 1 * x ^ 3 + 1000 * x ^ 1000 + 100 * x ^ 10000

              1 #include <iostream>
              2 #include <vector>
              3 #include <cmath>
              4 using namespace std;
              5 
              6 struct node
              7 {
              8     double coe;
              9     double exp;
             10     node* next;
             11     node(double c = 0.0double e = 0.0, node* n = 0)
             12         : coe(c), exp(e), next(n) {}
             13 };
             14 
             15 void init(node*& poly)
             16 {
             17     poly = new node;
             18 }
             19 
             20 void create(node* poly, const vector<int>& v)
             21 {
             22     node* p = poly;
             23     for (vector<int>::size_type i = 0; i != v.size(); i += 2)
             24     {
             25         node* temp = new node(v[i], v[i + 1]);
             26         p->next = temp;
             27         p = temp;
             28     }
             29 }
             30 
             31 void display(node* poly)
             32 {
             33     poly = poly->next;
             34     while (poly != 0)
             35     {
             36         cout << poly->coe << " * x ^ " << poly->exp;
             37         if (poly->next != 0)
             38         {
             39             if (poly->coe > 0)
             40             {
             41                 cout << " + ";
             42             }
             43             else
             44             {
             45                 cout << " ";
             46             }
             47         }
             48         poly = poly->next;
             49     }
             50     cout << endl;
             51 }
             52 
             53 node* add(node* ret, node* poly1, node* poly2)
             54 {
             55     node* p1 = poly1->next;
             56     node* p2 = poly2->next;
             57     node* r = ret;
             58     while (p1 != 0 && p2 != 0)
             59     {
             60         if (p1->exp == p2->exp)
             61         {
             62             double c = p1->coe + p2->coe;
             63             if (abs(c) > 1e-6)
             64             {
             65                 node* t = new node(c, p1->exp);
             66                 r->next = t;
             67                 r = t;
             68             }
             69             p1 = p1->next;
             70             p2 = p2->next;
             71         }
             72         else if (p1->exp < p2->exp)
             73         {
             74             node* t = new node(p1->coe, p1->exp, 0);
             75             r->next = t;
             76             r = t;
             77             p1 = p1->next;
             78         }
             79         else
             80         {
             81             node* t = new node(p2->coe, p2->exp, 0);
             82             r->next = t;
             83             r = t;
             84             p2 = p2->next;
             85         }
             86     }
             87     while (p1 != 0)
             88     {
             89         node* t = new node(p1->coe, p1->exp, 0);
             90         r->next = t;
             91         r = t;
             92         p1 = p1->next;
             93     }
             94     while (p2 != 0)
             95     {
             96         node* t = new node(p2->coe, p2->exp, 0);
             97         r->next = t;
             98         r = t;
             99         p2 = p2->next;
            100     }
            101     return ret;
            102 }
            103 
            104 void clear(node* poly)
            105 {
            106     node* p = poly->next, *q;
            107     while (p != 0)
            108     {
            109         q = p->next;
            110         delete p;
            111         p = q;
            112     }
            113 }
            114 
            115 void destroy(node*& poly)
            116 {
            117     clear(poly);
            118     delete poly;
            119     poly = 0;
            120 }
            121 
            122 int main()
            123 {
            124     vector<int> v;
            125     int n;
            126     while (cin >> n)
            127     {
            128         v.push_back(n);
            129     }
            130     node* p1;
            131     init(p1);
            132     create(p1, v);
            133     display(p1);
            134 
            135     v.clear();
            136     cin.clear();
            137     while (cin >> n)
            138     {
            139         v.push_back(n);
            140     }
            141     node* p2;
            142     init(p2);
            143     create(p2, v);
            144     display(p2);
            145     cin.clear();
            146 
            147     node* p3;
            148     init(p3);
            149     add(p3, p1, p2);
            150     display(p3);
            151 
            152     destroy(p1);
            153     destroy(p2);
            154     destroy(p3);
            155 }

             


            posted on 2011-09-11 09:43 unixfy 閱讀(130) 評論(0)  編輯 收藏 引用
            国产999精品久久久久久| 亚洲国产精品高清久久久| 天天综合久久久网| 狠狠人妻久久久久久综合蜜桃| 国产精品久久久久久久久久免费| 一本大道久久香蕉成人网| 欧美黑人又粗又大久久久| 久久久网中文字幕| 久久精品人人做人人妻人人玩 | 狠狠色狠狠色综合久久| 久久91精品国产91久久户| 久久国产亚洲精品| 国产精品伦理久久久久久| 日韩人妻无码精品久久久不卡| 精品人妻伦九区久久AAA片69| 蜜臀av性久久久久蜜臀aⅴ| 久久中文字幕无码专区| 99久久免费国产精品热| 7777久久久国产精品消防器材| 狠狠色丁香婷婷综合久久来来去| 精品久久久噜噜噜久久久| 久久精品国产精品亚洲精品| 久久亚洲av无码精品浪潮| 狠狠色丁香久久婷婷综合五月| 99久久国产亚洲综合精品| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 日韩人妻无码一区二区三区久久99| 久久免费国产精品一区二区| 久久久精品2019免费观看| 日本欧美久久久久免费播放网| 久久精品一区二区三区AV| 久久久久国产精品人妻| 久久久久久久久久久精品尤物| 久久笫一福利免费导航 | 久久精品成人免费网站| 国产麻豆精品久久一二三| 久久ww精品w免费人成| 99久久久国产精品免费无卡顿| 97久久超碰成人精品网站| 99久久人妻无码精品系列| 2020最新久久久视精品爱|