Арифметика многочленов 1. Написать структурный тип данных

реклама
Àðèôìåòèêà ìíîãî÷ëåíîâ
1. Íàïèñàòü ñòðóêòóðíûé òèï äàííûõ ¾îäíî÷ëåí¿, ïðåäñòàâëÿþùèé îäíî÷ëåíû èç íå áîëåå ÷åì 26 ïåðåìåííûõ (ïåðåìåííûå ìàëåíüêèå ëàòèíñêèå áóêâû). Îí äîëæåí õðàíèòü ñòåïåíè êàæäîé ïåðåìåííîé, ñ êîòîðîé îíà âõîäèò â îäíî÷ëåí
(ìàññèâ èç 26 öåëûõ ÷èñåë), à òàêæå åùå îäíî öåëîå ÷èñëî êîýôôèöèåíò ïðè îäíî÷ëåíå. Òàêæå íóæíî ðåàëèçîâàòü
ôóíêöèè, âû÷èñëÿþùèå ïðîèçâåäåíèå è ÷àñòíîå îäíî÷ëåíîâ (ïîñêîëüêó äåëåíèå âîçìîæíî íå âñåãäà, íóæíà åùå ëîãè÷åñêàÿ ôóíêöèÿ, ïðîâåðÿþùàÿ, ÷òî äåëåíèå âîçìîæíî), à òàêæå ïðîöåäóðû ÷òåíèÿ îäíî÷ëåíà ñ êëàâèàòóðû è ïå÷àòè åãî
íà ýêðàí.
2. Íàïèñàòü ñòðóêòóðíûé òèï ¾ìíîãî÷ëåí¿, õðàíÿùèé ñïèñîê îäíî÷ëåíîâ (ñì. ïðåäûäóùóþ çàäà÷ó). Òàêæå íóæíî ðåàëèçîâàòü ôóíêöèè, âû÷èñëÿþùèå ñóììó, ðàçíîñòü è ïðîèçâåäåíèå ìíîãî÷ëåíîâ (ïîñëåäíÿÿ ôóíêöèÿ äîëæíà ðàñêðûâàòü
ñêîáêè, ÷òîáû ïðèâåñòè ïðîèçâåäåíèå ìíîãî÷ëåíîâ ê âèäó ñóììû îäíî÷ëåíîâ), à òàêæå ïðîöåäóðû ÷òåíèÿ ìíîãî÷ëåíà ñ
êëàâèàòóðû è ïå÷àòè åãî íà ýêðàí.
Äëÿ äàëüíåéøåãî íàì ïîíàäîáèòñÿ ââåñòè îòíîøåíèå ïîðÿäêà íà ìíîæåñòâå îäíî÷ëåíîâ, èëè, ïðàâèëüíåå ñêàçàòü,
íà íàáîðàõ ñòåïåíåé ïåðåìåííûõ, ïîñêîëüêó êîýôôèöèåíòû ïðè îäíî÷ëåíàõ íå ó÷àñòâóþò â ýòîì îòíîøåíèè ïîðÿäêà
íèêàê. Íàáîð ñòåïåíåé ïåðåìåííûõ ìîæíî ðàññìàòðèâàòü êàê âåêòîð èç 26 öåëûõ ÷èñåë. Íà òàêèõ íàáîðàõ ââîäèòñÿ
ëåêñèêîãðàôè÷åñêèé ïîðÿäîê: ìû èùåì ïåðâóþ êîîðäèíàòó, êîòîðàÿ ó ýòèõ âåêòîðîâ ðàçëè÷àåòñÿ, è ïîðÿäîê ìåæäó
çíà÷åíèÿìè ýòîé êîîðäèíàòû îïðåäåëÿåò ïîðÿäîê ìåæäó âåêòîðàìè. Íàïðèìåð, â ñìûñëå òîëüêî ÷òî îïðåäåëåííîãî
îòíîøåíèÿ ïîðÿäêà, x > y, ïîñêîëüêó ó âñåõ ïåðåìåííûõ äî x ñòåïåíè â îáîèõ îäíî÷ëåíàõ ñîâïàäàþò (è ðàâíû íóëþ), à
ñòåïåíü x â ïåðâîì îäíî÷ëåíå (1) áîëüøå, ÷åì âî âòîðîì (0).
3. Íàïèñàòü ôóíêöèþ, ñðàâíèâàþùóþ îäíî÷ëåíû â ñîîòâåòñòâèè ñ òîëüêî ÷òî îïðåäåëåííûì îòíîøåíèåì ïîðÿäêà.
Îíà äîëæíà èìåòü äâà ïàðàìåòðà (ñðàâíèâàåìûå îäíî÷ëåíû), è öåëûé ðåçóëüòàò (−1, åñëè ïåðâûé îäíî÷ëåí ìåíüøå
âòîðîãî, 0 ðàâåí, ò. å. îäíî÷ëåíû ìîãóò îòëè÷àòüñÿ òîëüêî êîýôôèöèåíòîì, è 1 áîëüøå).
4. Íàïèñàòü ïðîöåäóðó, ïðèâîäÿùóþ â ìíîãî÷ëåíå ïîäîáíûå ÷ëåíû. Îíà äîëæíà ñíà÷àëà óïîðÿäî÷èâàòü îäíî÷ëåíû,
âõîäÿùèå â ñîñòàâ ìíîãî÷ëåíà, èñïîëüçóÿ ôóíêöèþ ïðåäûäóùåé çàäà÷è, ïî óáûâàíèþ, à çàòåì, êîãäà îäíî÷ëåíû ñ îäèíàêîâûìè ñòåïåíÿìè ïåðåìåííûõ îêàæóòñÿ ðÿäîì â ñïèñêå, çàìåíÿòü èõ íà èõ ñóììó, ñêëàäûâàÿ êîýôôèöèåíòû. Ïîìèìî
ïðèâåäåíèÿ ïîäîáíûõ ÷ëåíîâ, ýòà ïðîöåäóðà áóäåò óïîðÿäî÷èâàòü îäíî÷ëåíû ïî óáûâàíèþ, ÷òî î÷åíü ïðèãîäèòñÿ íàì â
ïîñëåäóþùèõ çàäà÷àõ.
5. Íàïèñàòü ïðîöåäóðó äåëåíèÿ îäíîãî ìíîãî÷ëåíà íà äðóãîé. Îíà äîëæíà äåëàòü ñëåäóþùåå: áåðåì íàèáîëüøèé
îäíî÷ëåí ïåðâîãî ìíîãî÷ëåíà è äåëèì åãî íà íàèáîëüøèé îäíî÷ëåí âòîðîãî. Åñëè òàêîå äåëåíèå íåâîçìîæíî, ðåçóëüòàò
îòðèöàòåëüíûé ïåðâûé ìíîãî÷ëåí íå äåëèòñÿ íà âòîðîé. Åñëè æå îíî âîçìîæíî, òî äîáàâëÿåì P ðåçóëüòàò äåëåíèÿ
íàèáîëüøèõ îäíî÷ëåíîâ ê òîìó ìíîãî÷ëåíó, â êîòîðîì ìû íàêàïëèâàåì ðåçóëüòàò äåëåíèÿ, è âû÷èòàåì èç äåëèìîãî
ïðîèçâåäåíèå äåëèòåëÿ è P , ïîñëå ÷åãî ïîâòîðÿåì óêàçàííûå äåéñòâèÿ äî òåõ ïîð, ïîêà íå áóäåò âûïîëíåíî îäíî èç
óñëîâèé: ëèáî íà î÷åðåäíîì øàãå äåëåíèå íàèáîëüøèõ îäíî÷ëåíîâ íåâîçìîæíî, è òîãäà äåëèìîå íå äåëèòñÿ íà äåëèòåëü,
ëèáî äåëèìîå îáíóëèòñÿ, è òîãäà ó íàñ áóäåò ñôîðìèðîâàíî ÷àñòíîå.
Ìíîãî÷ëåí íàçûâàåòñÿ ñèììåòðè÷åñêèì, åñëè îí íå ìåíÿåòñÿ îò ëþáîé ïåðåñòàíîâêè åãî ïåðåìåííûõ. Íàïðèìåð, äëÿ
äâóõ ïåðåìåííûõ ìíîãî÷ëåíû a + b è ab ÿâëÿþòñÿ ñèììåòðè÷åñêèìè, à a + 3b è a2 b íåò. Äëÿ ëþáîãî ÷èñëà ïåðåìåííûõ n ìîæíî îïðåäåëèòü ñòàíäàðòíûé íàáîð èç n ñèììåòðè÷åñêèõ ìíîãî÷ëåíîâ, êîòîðûå íàçûâàþòñÿ ýëåìåíòàðíûìè,
ñëåäóþùèì îáðàçîì: äëÿ i = 1, . . . , n i-é ýëåìåíòàðíûé ñèììåòðè÷åñêèé ìíîãî÷ëåí ei ïðåäñòàâëÿåò ñîáîé ñóììó âñåõ
ïðîèçâåäåíèé ïåðåìåííûõ â íàáîðàõ ïî i øòóê. Íàïðèìåð, äëÿ òðåõ ïåðåìåííûõ ýëåìåíòàðíûìè ñèììåòðè÷åñêèìè ìíîãî÷ëåíàìè áóäóò e1 = a + b + c, e2 = ab + ac + bc è e3 = abc (âñå ýòè ìíîãî÷ëåíû âûïèñàíû â ïîðÿäêå óáûâàíèÿ èõ
îäíî÷ëåíîâ).
Èìååòñÿ ñëåäóþùàÿ çàìå÷àòåëüíàÿ òåîðåìà: âñÿêèé ñèììåòðè÷åñêèé ìíîãî÷ëåí ìîæåò áûòü ïðåäñòàâëåí êàê ìíîãî÷ëåí îò ýëåìåíòàðíûõ ñèììåòðè÷åñêèõ ìíîãî÷ëåíîâ. Íàïðèìåð, a2 + b2 + c2 = (a + b + c)2 − 2(ab + ac + bc). Îäíî èç
ñàìûõ ïðîñòûõ äîêàçàòåëüñòâ ýòîé òåîðåìû íåñêîëüêî íàïîìèíàåò àëãîðèòì äåëåíèÿ ìíîãî÷ëåíîâ èç ïîñëåäíåé çàäà÷è
è ñîñòîèò â ñëåäóþùåì: áåðåì ñàìûé áîëüøîé îäíî÷ëåí â íàøåì ìíîãî÷ëåíå, ïóñòü ýòî áóäåò Cxn1 . . . xnk . Ïîñêîëüêó ó
íàñ ìíîãî÷ëåí ñèììåòðè÷åñêèé, à îäíî÷ëåí íàèáîëüøèé, ìû îáÿçàòåëüíî áóäåì èìåòü n1 ≥ n2 ≥ . . . ≥ nk . Ïóñòü òåïåðü
n1 = . . . = ni > ni +1 = . . . = ni > . . . > ni +1 = . . . = ni , ãäå is = k . Òîãäà åñëè âû÷åñòü èç èñõîäíîãî ìíîãî÷ëåíà ïðîèçâåäåíèå Ceni −n ein −n . . . eni , òî â ðåçóëüòàòå ìû ïîëó÷èì òàêæå ñèììåòðè÷åñêèé ìíîãî÷ëåí, íî â íåì óæå ñàìûé
áîëüøîé îäíî÷ëåí áóäåò ìåíüøå, ÷åì áûë â èñõîäíîì. Òàêèì îáðàçîì, ðàíî èëè ïîçäíî ìû ïðèäåì ê òîìó, ÷òî èñõîäíûé
ìíîãî÷ëåí îáíóëèòñÿ.
6. Íàïèñàòü ôóíêöèþ, ïðèíèìàþùóþ â êà÷åñòâå ïàðàìåòðîâ ñèììåòðè÷åñêèé ìíîãî÷ëåí è ÷èñëî n ïåðåìåííûõ â íåì,
è âîçâðàùàþùèé äðóãîé ìíîãî÷ëåí òàêîé, ÷òî åñëè â íåãî ïîäñòàâèòü e1 âìåñòî ïåðâîé ïåðåìåííîé, e2 âìåñòî âòîðîé, . . .,
en âìåñòî n-é, òî ïîëó÷èòñÿ òîò ìíîãî÷ëåí, êîòîðûé áûë ïåðåäàí â êà÷åñòâå ïàðàìåòðà. Íàïðèìåð, åñëè áûëè ïåðåäàíû
ìíîãî÷ëåí a2 + b2 + c2 è ÷èñëî 3, òî âåðíóòü íàäî a2 − 2b (ñì. íà÷àëî ïðåäûäóùåãî àáçàöà).
1
1
i1
1
1
i2
2
i2
2
i3
s−1
is
s
s
k
Скачать