Ґ Ї®бўпйҐвбп 400-«ҐвЁо Ј. ’®бЄ
Б®ўл а§аЎ®вЄЁ «Ј®аЁв®ў
€§¤ЁҐ 2-Ґ, ¤®Ї®«Ґ®Ґ
ЊҐв®¤ЁзҐбЄЁҐ гЄ§Ёп
’®бЄ – 2004
ЊҐв®¤ЁзҐбЄЁҐ гЄ§Ёп абб®ваҐл Ё ®¤®ЎаҐл Ґв®¤ЁзҐбЄ®© Є®ЁббЁҐ© дЄг«мвҐв Ёд®авЁЄЁ.
„ҐЄ дЄг«мвҐв Ёд®авЁЄЁ ‘.Џ. ‘г饪®
ЏаҐ¤бҐ¤вҐ«м Ґв®¤ЁзҐбЄ®© Є®ЁббЁЁ ‚.‚. Џ®¤¤гЎл©
ЊҐв®¤ЁзҐбЄЁҐ гЄ§Ёп ЇаҐ¤§зҐл ¤«п Ї®¤Ј®в®ўЄЁ Є б¤зҐ …ѓќ, вЄ¦Ґ ¤«п Ї®¤Ј®в®ўЄЁ Є ўбв㯨⥫м®г нЄ§Ґг Ї® Ёд®авЁЄҐ. „«п аҐиҐЁп ЇаҐ¤«ЈҐле §¤з ¤®бвв®з® §Ё© ў ®ЎкҐҐ иЄ®«м®© Їа®Јал Ї® Ёд®авЁЄҐ Ё ў«¤ҐЁп з«млЁ ўлЄЁ «Ј®аЁвЁ§жЁЁ.
‚ Є¦¤® ৤Ґ«Ґ бЎ®аЁЄ ¤«п ҐбЄ®«мЄЁе §¤з ЇаЁўҐ¤Ґ Ї®иЈ®ўп а§аЎ®вЄ «Ј®аЁв®ў Ё Ї®«гзойЁебп ў १г«мв⥠Їа®Ја п§лЄҐ Їа®ЈаЁа®ўЁп ЏбЄ«м. ‚ᥠ§¤зЁ, ЇаҐ¤§зҐлҐ ¤«п б®бв®п⥫쮩 аЎ®вл, бЎ¦Ґл б®ўҐвЁ Ї® аҐиҐЁо. ЏаЁў®¤Ёвбп бЇаў®зп Ёд®ажЁп Ї® ®ЇҐав®а п§лЄ ЏбЄ«м.
Ґ Ї®бўпйҐвбп 400-«ҐвЁо Ј. ’®бЄ
Џ®зв®ўл© ¤аҐб: 634050, Ј. ’®бЄ, Їа. ‹ҐЁ, 36, ’ѓ“,
ЇаЁҐп Є®ЁббЁп
’Ґ«Ґд®: (382-2) 52-96-72
€д®ажЁ®л© ЁвҐаҐв-бҐаўҐа: | http://www.inf.tsu.ru |
ќ«ҐЄва®п Ї®зв: | kostuk@inf.tsu.ru fooks@inf.tsu.ru foox@inf.tsu.ru |
© Љ®бвоЄ ћ. ‹., ”гЄб Ђ. ‹., ”гЄб €. ‹., 2004
1. ђ…Љ“ђђ…Ќ’Ќ›… Ђ‹ѓЋђ€’Њ›
Ћб®ў®© ४гааҐвле «Ј®аЁв®ў пў«повбп ४гааҐвлҐ б®®в®иҐЁп. ќв® б®®в®иҐЁп ўЁ¤:
Ј¤Ґ – Є®бввл,
‚ ЇаЄвЁзҐбЄЁе §¤зе зйҐ ўбҐЈ® .
‚лзЁб«ҐЁҐ бгл н«ҐҐв®ў ббЁў. „ ўҐйҐбвўҐл© ббЁў a ¤«Ёл n. Ќ©вЁ бгг н«ҐҐв®ў ббЁў.
‚ўҐ¤Ґ ®Ў®§зҐЁҐ ¤«п бгл ЇҐаўле i н«ҐҐв®ў ббЁў. ’®Ј¤ ®¦® §ЇЁбвм б«Ґ¤го饥 ४гааҐв®Ґ б®®в®иҐЁҐ:
, , ЇаЁ .
‚ Їа®ЈаҐ Ўг¤Ґ Ї®б«Ґ¤®ўвҐ«м® ўлзЁб«пвм , ЁбЇ®«м§гп ¤«п нвЁе бг ®¤г ЇҐаҐҐго S.
S:=0;
for i:=1 to n do S:=S+a[i];
Ќе®¦¤ҐЁҐ ЁЁг ў ббЁўҐ. „ 楫®зЁб«Ґл© ббЁў ¤«Ёл n. Ќ©вЁ ЁЁ«мл© н«ҐҐв ў ббЁўҐ.
Џгбвм – ЁЁ«мл© б।Ё ЇҐаўле i н«ҐҐв®ў ббЁў. ЋзҐўЁ¤®, зв® , ЇаЁ ўлЇ®«пҐвбп:
.
‚ Їа®ЈаҐ Ўг¤Ґ Ї®б«Ґ¤®ўвҐ«м® ўлзЁб«пвм , ЁбЇ®«м§гп ¤«п е२п нвЁе §зҐЁ© ®¤г ЇҐаҐҐго m.
m:=a[1];
for i:=2 to n do
if a[i]<m
then m:=a[i];
Џ®ЁбЄ ўв®а®Ј® ЄбЁг. „ 楫®зЁб«Ґл© ббЁў ¤«Ёл n. Ќ©вЁ ўв®а®© ЄбЁ«мл© н«ҐҐв (в.Ґ. н«ҐҐв, Є®в®ал© Ўг¤Ґв ЁҐвм ®Ґа n-1, Ґб«Ё ббЁў гЇ®а冷зЁвм Ї® ў®§абвЁо).
ЏаЁ Ї®ЁбЄҐ ўв®а®Ј® ЄбЁ«м®Ј® н«ҐҐв Ґ®Ўе®¤Ё® б®еапвм Ё ЇҐаўл© ЄбЁ«мл© – бл© Ў®«ми®© н«ҐҐв ў ббЁўҐ. Џгбвм Ё – нв®, ᮮ⢥вб⢥®, ЇҐаўл© Ё ўв®а®© ЄбЁгл б।Ё ЇҐаўле i н«ҐҐв®ў ббЁў. €бе®¤лҐ §зҐЁп ¤«п Ё ®ЇаҐ¤Ґ«повбп Ї® ЇҐаўл ¤ўг н«ҐҐв ббЁў, Ї®нв®г , , . ЏаЁ ўлЇ®«пҐвбп:
, , Ґб«Ё ,
, , Ґб«Ё ,
, , Ґб«Ё .
‚ Їа®ЈаҐ Ўг¤Ґ Ї®б«Ґ¤®ўвҐ«м® ўлзЁб«пвм Ё , ЁбЇ®«м§гп ¤«п нв®Ј® ЇҐаҐҐлҐ s Ё f.
if a[1]>=a[2]
then begin f:=a[1]; s:=a[2]; end
else begin f:=a[2]; s:=a[1]; end;
for i:=3 to n do
if a[i]>f then begin s:=f; f:=a[i]; end
else if a[i]>s then s:=a[i];
‚лзЁб«ҐЁҐ зЁб« Ї® жЁда. „ 楫®зЁб«Ґл© ббЁў, ᮤҐа¦йЁ© k ¤ҐбпвЁзле жЁда ҐЄ®в®а®Ј® 楫®Ј® Ї®«®¦ЁвҐ«м®Ј® зЁб« N. ‚лзЁб«Ёвм §зҐЁҐ N.
Џгбвм жЁдал зЁб« §®бЁ«Ёбм ў ббЁў Ї®б«Ґ¤®ўвҐ«м® б«Ґў Їаў®, в.Ґ. ᮤҐа¦Ёв жЁдаг б®Ј® бва襣® ( )-Ј® а§ап¤, – б®Ј® «¤иҐЈ® (г«Ґў®Ј®). ЋзҐўЁ¤®, зв® ЇаЁ ЇаўЁ«м® §¤ЁЁ ббЁў ¤ҐбпвЁзле жЁда , ЁбЄ®®Ґ §зҐЁҐ
.
„«п ЁбЄ«озҐЁп ®ЇҐажЁЁ ў®§ўҐ¤ҐЁп ў б⥯Ґм Ё гЇа®йҐЁп ўлзЁб«ҐЁ© ў®бЇ®«м§гҐбп б奮© ѓ®аҐа:
.
Ѓг¤Ґ Ї®б«Ґ¤®ўвҐ«м® ўлзЁб«пвм ўлথЁп ўгваЁ бЄ®Ў®Є, зЁп б бле ўгв२е, १г«мвв б®еапвм ў ЇҐаҐҐ®© N:
N:=a[1];
for i:=2 to k do N:=N*10+a[i];
‚лзЁб«ҐЁҐ ЇаЁЎ«Ё¦Ґ®Ј® §зҐЁп дгЄжЁЁ. „«п §¤®Ј® ўҐйҐб⢥®Ј® x Ё 楫®Ј® n ўлзЁб«Ёвм ЇаЁЎ«Ё¦Ґ®Ґ §зҐЁҐ
.
ЏаЁ ўлзЁб«ҐЁЁ Ї®¤®Ўле бг 㤮Ў® ®ЇаҐ¤Ґ«пвм ба§г ¤ў ४гааҐвле б®®в®иҐЁп: ®¤® – ¤«п ўлзЁб«ҐЁп б«Ґ¤го饣® б«ЈҐ®Ј® ®б®ўҐ ЇаҐ¤л¤г饣®, ¤агЈ®Ґ – ¤«п ўлзЁб«ҐЁп збвЁзле бг. ‚ўҐ¤Ґ ®Ў®§зҐЁп: – i-Ґ б«ЈҐ®Ґ, – бг ЇҐаўле i б«ЈҐле ( ). ’®Ј¤ , ЇаЁ . ‚ла§Ё зҐаҐ§ : . „«п бг ўлЇ®«пҐвбп: Ё . ‚ Їа®ЈаҐ ¤«п е२п б«ЈҐле Ё бг ЁбЇ®«м§гҐ ўҐйҐбвўҐлҐ ЇҐаҐҐлҐ a Ё S.
a:=1; S:=1;
for i:=1 to n do
begin a:=a*x/i; S:=S+a; end;
’а㤮ҐЄ®бвм «Ј®аЁв®ў. Љ¦¤л© Ё§ абб®ваҐле «Ј®аЁв®ў ᮤҐа¦Ёв жЁЄ« for, ўлЇ®«пойЁ©бп n ( Ё«Ё n – 1) а§. ’Є ЄЄ ЇҐаҐ¤ жЁЄ«® Ё ўгваЁ жЁЄ« Є®«ЁзҐбвў® ўлЇ®«пҐле ¤Ґ©бвўЁ© – Є®бвв, в® ®ЎйҐҐ зЁб«® ¤Ґ©бвўЁ© ®¦® ЇаҐ¤бвўЁвм ў ўЁ¤Ґ C1 + C2 * n, Ј¤Ґ C1 Ё C2 – Є®бввл. ’ЄЁ ®Ўа§®, ва㤮ҐЄ®бвм нвЁе «Ј®аЁв®ў – «ЁҐ©п.
‡¤зЁ ¤«п б®бв®п⥫쮣® аҐиҐЁп [1]
1.1. „ ўҐйҐбвўҐл© ббЁў ¤«Ёл n. Ќ©вЁ бгг Єў¤ав®ў н«ҐҐв®ў ббЁў.
1.2. „ ўҐйҐбвўҐл© ббЁў ¤«Ёл n. Ќ©вЁ бгл Ї®«®¦ЁвҐ«мле Ё ®ваЁж⥫мле н«ҐҐв®ў ббЁў.
1.3. „«п §¤®Ј® 楫®Ј® Ґ®ваЁж⥫쮣® n ўлзЁб«Ёвм §зҐЁҐ дЄв®аЁ« . ( ).
1.4. „«п §¤®Ј® 楫®Ј® Ґ®ваЁж⥫쮣® n ўлзЁб«Ёвм §зҐЁп ¤ў®©ле дЄв®аЁ«®ў Ё .
1.5. ‚лзЁб«Ёвм n-Ґ зЁб«® ”ЁЎ®ззЁ , ЁбЇ®«м§гп ४гааҐв®Ґ б®®в®иҐЁҐ: , , ЇаЁ .
1.6. ‚лзЁб«Ёвм – n-Ґ зЁб«® ”ЁЎ®ззЁ аЈ 3, ЁбЇ®«м§гп ४гааҐв®Ґ б®®в®иҐЁҐ:
, , ЇаЁ .
1.7. Џ® §¤®г ўҐйҐб⢥®г §зҐЁо x Ё ббЁўг ўҐйҐб⢥ле Є®нддЁжЁҐв®ў ўлзЁб«Ёвм §зҐЁҐ Ї®«Ё® .
1.8. „«п §¤®Ј® ўҐйҐб⢥®Ј® x Ё 楫®Ј® n ўлзЁб«Ёвм ЇаЁЎ«Ё¦Ґ®Ґ §зҐЁҐ
.
1.9. „«п §¤®Ј® ўҐйҐб⢥®Ј® x Ё 楫®Ј® n ўлзЁб«Ёвм ЇаЁЎ«Ё¦Ґ®Ґ §зҐЁҐ
1.10. „«п §¤®Ј® ўҐйҐб⢥®Ј® x Ё 楫®Ј® n ўлзЁб«Ёвм ЇаЁЎ«Ё¦Ґ®Ґ §зҐЁҐ
.
1.11. „«п §¤®Ј® ўҐйҐб⢥®Ј® x Ё 楫®Ј® n ўлзЁб«Ёвм ЇаЁЎ«Ё¦Ґ®Ґ §зҐЁҐ
.
1.12. „«п §¤®Ј® ўҐйҐб⢥®Ј® x Ё 楫®Ј® n ўлзЁб«Ёвм ЇаЁЎ«Ё¦Ґ®Ґ §зҐЁҐ
.
1.13. „«п §¤®Ј® ўҐйҐб⢥®Ј® §зҐЁп Ё зЁб« ЁвҐажЁ© n ўлзЁб«Ёвм ЇаЁЎ«Ё¦Ґ®Ґ §зҐЁҐ , ЁбЇ®«м§гп ४гааҐв®Ґ б®®в®иҐЁҐ: , , ЇаЁ .
1.14. ‚лзЁб«Ёвм ЁЎ®«миЁ© ®ЎйЁ© ¤Ґ«ЁвҐ«м (ЌЋ„) 楫ле Ї®«®¦ЁвҐ«мле зЁбҐ« a Ё b, ЁбЇ®«м§гп б«Ґ¤гойЁҐ б®®в®иҐЁп:
ЌЋ„(a, b) = ЌЋ„(b, a),
ЌЋ„(a, 0) = a,
ЌЋ„(a, b) = ЌЋ„(b, a mod b), Ґб«Ё .
1.15. ** Џ® §¤®г 楫®г Ї®«®¦ЁвҐ«м®г §зҐЁо N ўлзЁб«Ёвм Ё б®еаЁвм ў ббЁўҐ Ў®а ¤ҐбпвЁзле жЁда N.
2. ЏЋ„ЏЋ‘‹…„Ћ‚Ђ’…‹њЌЋ‘’€ ‚ ЊЂ‘‘€‚…
Џ®¤Ї®б«Ґ¤®ўвҐ«м®бвмо ў ббЁўҐ §лўҐвбп ЈагЇЇ н«ҐҐв®ў, ®Ў«¤ойп ЄЄЁ-ЁЎг¤м ®ЎйЁ бў®©бвў®. ЌЇаЁҐа, ҐбЄ®«мЄ® а冷 бв®пйЁе аўле ¤агЈ ¤агЈг н«ҐҐв®ў, Ё«Ё н«ҐҐвл, бв®пйЁҐ Ї®¤ап¤ Ё¤гйЁе зҐвле Ґбве ў ббЁўҐ Ё ЁҐойЁҐ зҐв®Ґ §зҐЁҐ, Ё в.Ї.
‘п ¤«Ёп Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвм. ‘®ў®ЄгЇ®бвм б«Ґ¤гойЁе ¤агЈ § ¤агЈ® аўле Ї® §зҐЁо н«ҐҐв®ў 楫®зЁб«Ґ®Ј® ббЁў A §®ўҐ Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвмо. Ќ©вЁ Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвм ЄбЁ«м®© ¤«Ёл.
Џ®«л© ®вўҐв ў®Їа®б §¤зЁ ¤®«¦Ґ гЄ§лўвм, б ЄЄ®Ј® н«ҐҐв ў Ёб室® ббЁўҐ зЁҐвбп ©¤Ґп Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвм Ё ЄЄ®ў ҐҐ ¤«Ё.
‘®бвўЁ ҐбЄ®«мЄ® вҐбв®ў.
€бе®¤л© ббЁў | „«Ё | Ќз«® | |
1. | 1 2 1 2 1 2 1 2 1 2 | Ґв | |
2. | 1 2 2 2 1 2 1 1 1 2 | ||
3. | 1 2 2 2 1 1 1 1 1 1 | ||
4. | 1 1 1 1 1 1 1 1 1 1 |
’Ґбв ь1 Ї®Є§лўҐв, зв® Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвЁ ў ббЁўҐ ®Јгв ®вбгвбвў®ўвм.
’Ґбв ь2 ᮤҐа¦Ёв 2 Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвЁ ®¤ЁЄ®ў®© ¤«Ёл. ‚ вЄЁе б«гзпе ў ЄзҐб⢥ १г«мвв ЎҐаҐ ЇҐаўго Ё§ ©¤Ґле.
’Ґбв ь3 Ї®Є§лўҐв, зв® ббЁў ®¦Ґв §ўҐаивмбп Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвмо.
‚ вҐб⥠ь4 ўҐбм Ёбе®¤л© ббЁў пў«пҐвбп Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвмо.
‘®ўЇ¤ҐЁҐ б®бҐ¤Ёе н«ҐҐв®ў ўбҐЈ¤ ®§зҐв «ЁзЁҐ Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвЁ. …б«Ё б®бҐ¤ЁҐ н«ҐҐвл Ґ аўл, в® ў®§®¦Ґ ®¤Ё Ё§ зҐвлаҐе б«г祢:
ъ ®¤ Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвм §Є®зЁ«бм, ¤агЈп з«бм;
ъ Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвЁ Ґ Ўл«®, ® ¤агЈп зЁҐвбп;
ъ ®¤ §Є®зЁ«бм, ¤агЈ®© Ґ Ўг¤Ґв;
ъ Ї®¤Ї®б«Ґ¤®ўвҐ«м®б⥩ Ґв ў®®ЎйҐ.
’Є®Ґ ৮®Ўа§ЁҐ бЁвгжЁ© ®¦® «ҐЈЄ® ®ЎкҐ¤ЁЁвм, Ґб«Ё ¤®ЇгбвЁвм бгйҐбвў®ўЁҐ Ї®¤Ї®б«Ґ¤®ўвҐ«м®б⥩ ¤«Ё®© 1. ’®Ј¤ «оЎ®Ґ Ґб®ўЇ¤ҐЁҐ б®бҐ¤Ёе н«ҐҐв®ў ®§зҐв Є®Ґж ®¤®© Ё з«® ¤агЈ®© Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвЁ. Љ®Ґзл© аҐ§г«мвв ®в нв®Ј® Ґ Ї®бвथв, Ґб«Ё бзЁввм, зв® ЄбЁ«мп ¤«Ё, аўп 1, ®§зҐв ®вбгвбвўЁҐ Ї®¤Ї®б«Ґ¤®ўвҐ«м®б⥩. Џ®бЄ®«мЄг Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвЁ Ґ ®Јгв ЇҐаҐЄалўвмбп, §¤з аҐиҐвбп ®б®ўҐ Ї®б«Ґ¤®ўвҐ«м®Ј® бࢥЁп ¤агЈ б ¤агЈ® б®бҐ¤Ёе н«ҐҐв®ў ў ббЁўҐ. ЉЄ в®«мЄ® Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвм §Є®зЁ«бм, б«Ґ¤гҐв баўЁвм ҐҐ ¤«Ёг б ॥ ©¤Ґ®© ЄбЁ«м®©
.
„®Ј®ў®аЁбп ЁбЇ®«м§®ўвм б«Ґ¤гойЁҐ ЇҐаҐҐлҐ:
tekdl – ¤«Ё ⥪г饩 Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвЁ;
teknach – з«мл© ®Ґа ⥪г饩 Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвЁ;
maxdl – ЄбЁ«мп ¤«Ё;
maxnach – з«мл© ®Ґа ЁбЄ®®© Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвЁ.
Ђ«Ј®аЁв 1.
Џ®иЈ®ўп а§аЎ®вЄ
з«млҐ §зҐЁп;
for i:=1 to n-1 do
if A[i]=A[i+1]
then Ё¤Ґв Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвм
else begin
Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвм §Є®зЁ«бм;
¤агЈп з«бм
end;
Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвм §Є®зЁ«бм;
з«млҐ §зҐЁп
tekdl:=1; teknach:=1; maxdl:=1;
Ё¤Ґв Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвм
tekdl:=tekdl+1;
Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвм §Є®зЁ«бм
if tekdl>maxdl
then begin
maxdl:=tekdl;
maxnach:=teknach
end;
¤агЈп з«бм
tekdl:=1;
teknach:=i+1;
ђҐ§г«мвв Ї®иЈ®ў®© а§аЎ®вЄЁ
tekdl:=1; teknach:=1; maxdl:=1;
for i:=1 to n-1 do
if A[i]=A[i+1]
then tekdl:=tekdl+1
else begin
if tekdl>maxdl
then begin
maxdl:=tekdl;
maxnach:=teknach
end;
tekdl:=1;
teknach:=i+1;
end;
if tekdl>maxdl
then begin
maxdl:=tekdl;
maxnach:=teknach
end;
’а㤮ҐЄ®бвм «Ј®аЁв – «ЁҐ©п.
„агЈ®© ўаЁв аҐиҐЁп нв®© §¤зЁ ®б®ў ЇаЁҐҐЁЁ жЁЄ«®ў while.
Ђ«Ј®аЁв 2.
Џ®иЈ®ўп а§аЎ®вЄ
з«млҐ §зҐЁп;
while Ґ §Є®зЁ«бп ббЁў do begin
Ё¤Ґ Ї® Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвЁ;
Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвм §Є®зЁ«бм;
Їа®ЇгбЄҐ ҐаўлҐ;
¤агЈп з«бм
end;
з«млҐ §зҐЁп
tekdl:=1; teknach:=1; maxdl:=1; i:=1;
Ґ §Є®зЁ«бп ббЁў
i<=n-1; {зв®Ўл Ґ ўл©вЁ § ЈаЁжл ббЁў ЇаЁ бࢥЁЁ ЇаҐ¤Ї®б«Ґ¤ҐЈ® н«ҐҐв б Ї®б«Ґ¤Ё}
Ё¤Ґ Ї® Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвЁ
while (i<=n-1)and(A[i]=A[i+1]) do begin
tekdl:=tekdl+1;
i:=i+1;
end;
Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвм §Є®зЁ«бм Ё ¤агЈп з«б줥⫨§Ёаговбп вЄ ¦Ґ, ЄЄ ў ЇаҐ¤л¤гйҐ «Ј®аЁвҐ.
Їа®ЇгбЄҐ ҐаўлҐ
while (i<=n-1)and(A[i]<>A[i+1]) do
i:=i+1;
ђҐ§г«мвв Ї®иЈ®ў®© а§аЎ®вЄЁ
tekdl:=1; teknach:=1; maxdl:=1; i:=1;
while i<=n-1 do begin
while (i<=n-1)and(A[i]=A[i+1]) do begin
tekdl:=tekdl+1;
i:=i+1;
end;
if tekdl>maxdl
then begin
maxdl:=tekdl;
maxnach:=teknach
end;
while (i<=n-1)and(A[i]<>A[i+1]) do
i:=i+1;
tekdl:=1;
teknach:=i;
end;
‡¤зЁ ¤«п б®бв®п⥫쮣® аҐиҐЁп
2.1. ‡¤ ббЁў, Ґ ᮤҐа¦йЁ© г«Ґўле §зҐЁ©. Ќ©вЁ ў Ґ:
) бго ¤«Ёго Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвм §зҐЁ© ®¤®Ј® §Є:
Ў) бго ¤«Ёго §Є®ЇҐаҐҐго Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвм.
2.2. ‡¤ ббЁў вга«мле зЁбҐ«. Ќ©вЁ ў Ґ бго ¤«Ёго ЈагЇЇг н«ҐҐв®ў,
) бв®пйЁе Ї®б«Ґ¤®ўвҐ«мле зҐвле Ґбве Ё ЁҐойЁе ҐзҐвлҐ §зҐЁп:
Ў) бв®пйЁе Ї®б«Ґ¤®ўвҐ«мле ҐзҐвле Ґбве Ё ЁҐойЁе зҐвлҐ §зҐЁп.
2.3. „ 楫®зЁб«Ґл© ббЁў. Ќ©вЁ ў Ґ Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвм ЄбЁ«м®© ¤«Ёл, ЇаҐ¤бвў«пойго б®Ў®© аЁдҐвЁзҐбЄго Їа®ЈаҐббЁо.
2.4. * ‡¤ зЁб«®ў®© ббЁў A Ё§ n н«ҐҐв®ў. ‘вгЇҐмЄ®© §®ўҐ вЄЁҐ н«ҐҐвл A[i], A[i+1], ..., A[j], зв®:
1) A[k]<A[k+1], k=i, i+1, ..., j-1;
2) A[i-1]>=A[i], Ґб«Ё i>1 Ё A[j]>=A[j+1], Ґб«Ё j<n.
‚лб®в®© бвгЇҐмЄЁ §®ўҐ ৮бвм A[j]-A[i], ¤«Ё®© – Є®«ЁзҐбвў® н«ҐҐв®ў ббЁў, ўе®¤пйЁе ў бвгЇҐмЄг. ‚лзЁб«Ёвм:
1) ўлб®вг Ё ¤«Ёг Є¦¤®© Ё§ бвгЇҐҐЄ;
2) ўлб®вг б®© ¤«Ё®© бвгЇҐмЄЁ;
3) ¤«Ёг б®© ўлб®Є®© бвгЇҐмЄЁ.
2.5. *‡¤ 楫®зЁб«Ґл© ббЁў A ¤«Ё®© n. “Ўлўо饩 "ЇЁ«®©" §®ўҐ вЄго Ї®б«Ґ¤®ўвҐ«м®бвм A[i], … , A[j], зв® ¤«п Є¦¤®© ва®©ЄЁ н«ҐҐв®ў Ї®б«Ґ¤®ўвҐ«м®бвЁ A[k], A[k+1], A[k+2] ўлЇ®«пҐвбп ®¤® Ё§ гб«®ўЁ©:
1) A[k]<A[k+1]>A[k+2] Ё A[k]>A[k+2];
2) A[k]>A[k+1]<A[k+2] Ё A[k]>A[k+2].
ѓ«гЎЁ®© "ЇЁ«л" §®ўҐ ৮бвм Ґ¦¤г ЄбЁ«мл Ё ЁЁ«мл н«ҐҐвЁ ббЁў ў Ґ©. Ќ©вЁ бго Ј«гЎ®Єго "ЇЁ«г".
2.6. *‡¤ 楫®зЁб«Ґл© ббЁў A ¤«Ё®© n. ‚®§абво饩 "ЇЁ«®©" §®ўҐ вЄго Ї®б«Ґ¤®ўвҐ«м®бвм A[i], … , A[j], зв® ¤«п Є¦¤®© ва®©ЄЁ н«ҐҐв®ў Ї®б«Ґ¤®ўвҐ«м®бвЁ A[k], A[k+1], A[k+2] ўлЇ®«пҐвбп ®¤® Ё§ гб«®ўЁ©:
1) A[k]<A[k+1]>A[k+2] Ё A[k]<A[k+2];
2) A[k]>A[k+1]<A[k+2] Ё A[k]<A[k+2].
„«Ё®© "ЇЁ«л" §®ўҐ Є®«ЁзҐбвў® н«ҐҐв®ў ў Ґ©. Ќ©вЁ бго ¤«Ёго "ЇЁ«г".
2.7. * ‡¤ 楫®зЁб«Ґл© ббЁў X. Ќ©вЁ ў Ґ ўбҐ вЄЁҐ Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвЁ X[i], X[i+1], ... , X[i+s], ¤«п Є®в®але ўлЇ®«пҐвбп:
X[i] + X[i+1] + ... + X[i+s] = X[i+s+1] ЇаЁ s > 0.
ЋЇаҐ¤Ґ«Ёвм б।Ё Ёе:
) Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвм ЄбЁ«м®© ¤«Ёл;
Ў) Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвм, ЁҐойго ЄбЁ«мго бгг н«ҐҐв®ў.
ЏаЁҐзЁҐ: Ї®¤Ї®б«Ґ¤®ўвҐ«м®бвЁ ®Јгв ЇҐаҐЄалўвмбп.
2.8. * ‡¤ «®п «ЁЁп Ў®а® n в®зҐЄ Ї«®бЄ®бвЁ ў ўЁ¤Ґ ббЁў®ў Є®®а¤Ёв {X[1], Y[1]}, … , {X[n], Y[n]}. —бвм «®®© б i-© в®зЄЁ Ї® j-о, ¤«п Є®в®а®© ўлЇ®«Ґ® гб«®ўЁҐ:
{X[i]<=X[i+1], Y[i]<=Y[i+1]}, …, {X[j-1]<=X[j], Y[j-1]<=Y[j]}
§®ўҐ ў®б室п饩 вабб®©, ҐўЄ«Ё¤®ў® аббв®пЁҐ Ґ¦¤г i-© Ё j-© в®зЄЁ – ¤«Ё®© ў®б室п饩 ваббл. (ђббв®пЁҐ Ґ¦¤г в®зЄЁ аў® Єў¤ав®г Є®ао Ё§ бгл Єў¤ав®ў ৮б⥩ Є®®а¤Ёв). ‚뢥бвЁ ¤«Ёг Ё в®зЄЁ Є¦¤®© ваббл.
2.9. * ‡¤ «®п «ЁЁп Ў®а® n в®зҐЄ Ї«®бЄ®бвЁ ў ўЁ¤Ґ ббЁў®ў Є®®а¤Ёв {X[1], Y[1]}, …, {X[n], Y[n]}. —бвм «®®© б i-© в®зЄЁ Ї® j-о, ¤«п Є®в®а®© ўлЇ®«Ґ® гб«®ўЁҐ:
{X[i]<=X[i+1], Y[i]>=Y[i+1]}, … , {X[j-1]<=X[j], Y[j-1]>=Y[j]}
§®ўҐ Ёб室п饩 вабб®©; ¤агЈго збвм «®®©, ¤«п Є®в®а®© ўлЇ®«Ґ® гб«®ўЁҐ:
{X[i]<=X[i+1], Y[i]<= Y[i+1]}, … , {X[j-1]<=X[j], Y[j-1]<=Y[j]}
– ў®б室п饩 вабб®©, Є®«ЁзҐбвў® в®зҐЄ ваббл – ®й®бвмо ваббл. ‚뢥бвЁ в®зЄЁ «ЁЁЁ Ї® вабб, ўз«Ґ ¤«п Ёб室пйЁе вабб, §вҐ ¤«п ў®б室пйЁе вабб.
2.10. ** ‡¤ 楫®зЁб«Ґл© ббЁў A Ё§ n н«ҐҐв®ў. Ќ©вЁ бго ¤«Ёго ЈагЇЇг н«ҐҐв®ў ббЁў A б аўлЁ §зҐЁпЁ, Є®в®алҐ абЇ®«®¦Ґл ®¤ЁЄ®ўле аббв®пЁпе ¤агЈ ®в ¤агЈ:
A[i] = A[i + k] = ... = A[j].
2.11. * ‡¤ зЁб«®ў®© ббЁў A Ё§ n н«ҐҐв®ў, абЇ®«®¦Ґле Ї® ў®§абвЁо. €§ нвЁе н«ҐҐв®ў бд®аЁа®ўвм вЄго аЁдҐвЁзҐбЄго Їа®ЈаҐббЁо ЄбЁ«м®© ¤«Ёл, зв®Ўл:
1) 1-© н«ҐҐв Їа®ЈаҐббЁЁ б®ўЇ¤« б н«ҐҐв® A[1],
2) 2-© Ё Ї®б«Ґ¤гойЁҐ н«ҐҐвл Їа®ЈаҐббЁЁ б®ўЇ¤«Ё б ҐЄ®в®алЁ Ё§ н«ҐҐв®ў ббЁў A,
3) ৮бвм Ґ¦¤г A[n] Ё Ї®б«Ґ¤Ё н«ҐҐв® Їа®ЈаҐббЁЁ Ўл« ҐмиҐ а§®бвЁ Ґ¦¤г б®бҐ¤ЁЁ н«ҐҐвЁ Їа®ЈаҐббЁЁ.
2.12. * ‡¤ зЁб«®ў®© ббЁў A Ё§ n Ї®«®¦ЁвҐ«мле н«ҐҐв®ў, абЇ®«®¦Ґле Ї® гЎлўЁо. €§ нвЁе н«ҐҐв®ў бд®аЁа®ўвм вЄго ЈҐ®ҐваЁзҐбЄго Їа®ЈаҐббЁо ЄбЁ«м®© ¤«Ёл, зв®Ўл:
1) 1-© н«ҐҐв Їа®ЈаҐббЁЁ б®ўЇ¤« б н«ҐҐв® A[1],
2) 2-© Ё Ї®б«Ґ¤гойЁҐ н«ҐҐвл Їа®ЈаҐббЁЁ б®ўЇ¤«Ё б ҐЄ®в®алЁ Ё§ н«ҐҐв®ў ббЁў A,
3) ®в®иҐЁҐ Ґ¦¤г A[n] Ё Ї®б«Ґ¤Ё н«ҐҐв® Їа®ЈаҐббЁЁ Ўл«® Ў®«миҐ ®в®иҐЁп Ґ¦¤г б®бҐ¤ЁЁ н«ҐҐвЁ Їа®ЈаҐббЁЁ.
3. “ЏЋђџ„Ћ—…ЌЌЋ‘’њ ‚ ЊЂ‘‘€‚…
Џ®ЁбЄ н«ҐҐв б §¤л §зҐЁҐ. „ гЇ®а冷зҐл© 楫®зЁб«Ґл© ббЁў A, ᮤҐа¦йЁ© n н«ҐҐв®ў, Ё ҐЄ®в®а®Ґ зЁб«®ў®Ґ §зҐЁҐ p. ’ॡгҐвбп ©вЁ вЄ®© ®Ґа i н«ҐҐв ббЁў, ¤«п Є®в®а®Ј® A[i] = p, Ё«Ё ®ЇаҐ¤Ґ«Ёвм, зв® вЄ®Ј® ®Ґа Ґв.
ќв §¤з ®¦Ґв Ўлвм аҐиҐ Їа®б®ва® н«ҐҐв®ў ббЁў ў жЁЄ«Ґ ¤® ЇҐаў®Ј® б®ўЇ¤ҐЁп н«ҐҐв A[i] б p. Џ®бЄ®«мЄг Ї®б«Ґ 宦¤ҐЁп ЁбЄ®®Ј® §зҐЁп Їа®бваЁўвм ббЁў ¤«миҐ ҐжҐ«Ґб®®Ўа§®, ў «Ј®аЁвҐ б«Ґ¤гҐв ЁбЇ®«м§®ўвм жЁЄ« while. ќв®в жЁЄ« §ўҐаиЁвбп, Є®Ј¤ Ўг¤Ґв ¤®бвЁЈгв Є®Ґж ббЁў Ё«Ё ©¤Ґ® ЁбЄ®®Ґ §зҐЁҐ. …б«Ё ЇаЁ нв® ®Є¦Ґвбп, зв® ЇаҐва жЁЄ« бв« Ў®«миҐ, зҐ ¤«Ё ббЁў, в® ЁбЄ®®Ј® §зҐЁп ў ббЁўҐ Ґв. ‚ Їа®вЁў® б«гзҐ н«ҐҐв б® §зҐЁҐ p 室Ёвбп Ґб⥠i.
Ђ«Ј®аЁв 1.
i:=1;
while (i<=n) and (A[i]<>p) do
i:=i+1;
if i>n
then writeln(‘н«ҐҐв Ґ ©¤Ґ’)
else writeln(‘н«ҐҐв б® §зҐЁҐ ’,p,
‘бв®Ёв Ґб⥠’,i);
Џ®ЁбЄ ®¦® §зЁвҐ«м® гбЄ®аЁвм, Ґб«Ё ЁбЇ®«м§®ўвм бў®©бвў® гЇ®а冷祮бвЁ ббЁў.
€¤Ґп Ўлбва®Ј® «Ј®аЁв Ї®ЁбЄ б®бв®Ёв ў в®, зв® ў ббЁўҐ ўл¤Ґ«пҐвбп ®Ў«бвм "Ї®¤®§аЁвҐ«мле" н«ҐҐв®ў, в.Ґ. вЄЁе, зв® Ґб«Ё ЁбЄ®л© н«ҐҐв ў ббЁўҐ бгйҐбвўгҐв, ® ®Ўп§вҐ«м® Ўг¤Ґв ўгваЁ нв®© ®Ў«бвЁ. Љ¦¤®Ґ бࢥЁҐ ўлЇ®«пҐвбп вЄ, зв®Ўл ®Ў«бвм б®Єай«бм ў¤ў®Ґ, Ї®нв®г «Ј®аЁв Ї®«гзЁ« §ўЁҐ ¤Ёе®в®ЁзҐбЄ®Ј® (¤Ґ«ҐЁҐ Ї®Ї®«). „«п нв®Ј® Є¦¤® иЈҐ жЁЄ« Їа®Ё§ў®¤Ёвбп бࢥЁҐ p б н«ҐҐв® A[c], абЇ®«®¦Ґл ў бҐаҐ¤ЁҐ "Ї®¤®§аЁвҐ«м®©" ®Ў«бвЁ. ЏаЁ нв® ў®§®¦л ¤ў б«гзп:
1) A[c] < p, в®Ј¤ Ё§ ®Ў«бвЁ "Ї®¤®§аЁвҐ«мле" н«ҐҐв®ў ®вЎаблўовбп ўбҐ, зЁп б з« ®Ў«бвЁ ¤® ®Ґа c ўЄ«озЁвҐ«м®;
2) A[c] >= p, в®Ј¤ Ё§ ®Ў«бвЁ "Ї®¤®§аЁвҐ«мле" н«ҐҐв®ў ®вЎаблўовбп ўбҐ, зЁп б ®Ґа c + 1 ¤® Є®ж ®Ў«бвЁ.
’а㤮ҐЄ®бвм «Ј®аЁв. „«п Їа®бв®вл ЇаҐ¤Ї®«®¦Ё, зв® Є®«ЁзҐбвў® н«ҐҐв®ў n = 2 m. Џ®б«Ґ ®¤®Ј® бࢥЁп ¤«Ё ббЁў гҐмиҐвбп а®ў® ў 2 а§, Ї®б«Ґ 2-е бࢥЁ© – ў 2 2 а§ Ё в.¤., Ї®б«Ґ k бࢥЁ© – ў 2 k а§. ’ЄЁ ®Ўа§®, Ї®б«Ґ m бࢥЁ© ¤«Ё Ї®¤®§аЁвҐ«м®© ®Ў«бвЁ бвҐв аў®© 1, Ё жЁЄ« ЇаҐЄавЁвбп. ‘«Ґ¤®ўвҐ«м®, ва㤮ҐЄ®бвм (зЁб«® иЈ®ў жЁЄ«): m = log 2 n – «®ЈаЁдЁзҐбЄп.
Ђ«Ј®аЁв 2.
b:=1; e:=n;
while b<e do
begin c:=(b+e)div 2;
if A[c]<p then b:=c+1 else e:=c
end;
if A[b]=p then i:=b else i:=0;
‘«ЁпЁҐ гЇ®а冷зҐле ббЁў®ў. „л ¤ў гЇ®а冷зҐле 楫®зЁб«Ґле ббЁў: A, ᮤҐа¦йЁ© n1 н«ҐҐв®ў, Ё ‚ Ё§ n2 н«ҐҐв®ў. ЏҐаҐЇЁбвм ўбҐ н«ҐҐвл Ё§ нвЁе ббЁў®ў ў ббЁў C вЄ, зв®Ўл ббЁў C Ўл« гЇ®а冷зҐл.
ќвг §¤зг ®¦® Ўл«® Ўл аҐиЁвм б«Ґ¤гойЁ ®Ўа§®: ўз«Ґ бЄ®ЇЁа®ўвм ўбҐ n1 + n2 н«ҐҐв®ў Ё§ ббЁў®ў A Ё B ў ббЁў C, §вҐ гЇ®а冷зЁвм ббЁў C. Ћ¤Є® вЄ®© «Ј®аЁв Ґ гзЁв뢥в гЇ®а冷祮бвЁ Ёб室ле ¤ле, в.Ґ. гб«®ўЁҐ §¤зЁ ўлЇ®«пҐвбп Ґ Ї®«®бвмо
€¤Ґп «Ј®аЁв б«ЁпЁп б®бв®Ёв ў в®, зв® Є¦¤® иЈҐ «Ј®аЁв баўЁўҐвбп н«ҐҐв Ё§ ббЁў A б н«ҐҐв® Ё§ ббЁў B (ўз«Ґ ЇҐаўлҐ н«ҐҐвл), Ё ҐмиЁ© Ё§ Ёе ЇҐаҐЇЁб뢥вбп ў ббЁў C. ЏаЁ нв® б«Ґ¤гҐв гзҐбвм бЁвгжЁо, Є®Ј¤ ўбҐ н«ҐҐвл Ё§ ®¤®Ј® ббЁў 㦥 ЇҐаҐЇЁбл, Ё§ ¤агЈ®Ј® – Ґв.
Ђ«Ј®аЁв 1.
Џ®иЈ®ўп а§аЎ®вЄ
з«млҐ §зҐЁп;
for i:=1 to n1+n2 do
ЇҐаҐЇЁбвм i-Ґ Ґбв® ў C;
з«млҐ §зҐЁп
i1:=1; i2:=1;
ЇҐаҐЇЁбвм i-Ґ Ґбв® ў C
if Є®зЁ«бп A
then ЇҐаҐЇЁбвм Ё§ B
else if Є®зЁ«бп B
then ЇҐаҐЇЁбвм Ё§ A
else ЇҐаҐЇЁбвм ҐмиЁ© Ё§ A Ё«Ё B
Є®зЁ«бп A
i1>n1
ЇҐаҐЇЁбвм Ё§ B
C[I]:=B[i2]; i2:=i2+1;
Є®зЁ«бп B Ё ЇҐаҐЇЁбвм Ё§ A ¤Ґв«Ё§Ёаговбп Ї® «®ЈЁЁ б ЇаҐ¤л¤гйЁЁ иЈЁ.
ЇҐаҐЇЁбвм ҐмиЁ© Ё§ A Ё«Ё B
if A[i1]<=B[i2]
then ЇҐаҐЇЁбвм Ё§ A
else ЇҐаҐЇЁбвм Ё§ B;
ђҐ§г«мвв Ї®иЈ®ў®© а§аЎ®вЄЁ
i1:=1; i2:=1;
for i:=1 to n1+n2 do
if i1>n1 then
begin C[i]:=B[i2]; i2:=i2+1 end
else if i2>n2 then
begin C[i]:=A[i1]; i1:=i1+1 end
else if A[i1]<=B[i2] then
begin C[i]:=A[i1]; i1:=i1+1 end
else
begin C[i]:=B[i2]; i2:=i2+1 end;
ќв® аҐиҐЁҐ ®¦® §ЇЁбвм Ї®-¤агЈ®г б Ї®®ймо жЁЄ«®ў while. ЏҐаўл© жЁЄ« аЎ®вҐв ¤® вҐе Ї®а, Ї®Є Ґбвм ®Ў ббЁў. ‚в®а®© жЁЄ« Є®ЇЁагҐв ®бвўиЁ©бп еў®бв ббЁў A (Ґб«Ё ® Ґбвм). ’аҐвЁ© жЁЄ« Є®ЇЁагҐв еў®бв ббЁў B (Ґб«Ё ® Ґбвм).
Ђ«Ј®аЁв 2.
Џ®иЈ®ўп а§аЎ®вЄ
з«млҐ §зҐЁп;
while Ґбвм ®Ў ббЁў do begin
ЇҐаҐЇЁбвм ҐмиЁ© н«ҐҐв i-Ґ Ґбв® ў C;
i:=i+1
end;
ЇҐаҐЇЁбвм Є®Ґж A;
ЇҐаҐЇЁбвм Є®Ґж B;
з«млҐ §зҐЁп
i1:=1; i2:=1; i:=1;
Ґбвм ®Ў ббЁў
(i1<=n1)and(i2<=n2)
ЇҐаҐЇЁбвм ҐмиЁ© н«ҐҐв i-Ґ Ґбв® ў C
if A[i1]<=B[i2] then
begin C[i]:=A[i1]; i1:=i1+1 end
else
begin C[i]:=B[i2]; i2:=i2+1 end;
ЇҐаҐЇЁбвм Є®Ґж A
while i1<=n1 do begin
C[i]:=A[i1]; i1:=i1+1; i:=i+1
end
ЇҐаҐЇЁбвм Є®Ґж B
while i2<=n2 do begin
C[i]:=B[i2]; i2:=i2+1; i:=i+1
end
ђҐ§г«мвв Ї®иЈ®ў®© а§аЎ®вЄЁ
i1:=1; i2:=1; i:=1;
while (i1<=n1) and (i2<=n2) do begin
if A[i1]<=B[i2] then
begin C[i]:=A[i1]; i1:=i1+1 end
else
begin C[i]:=B[i2]; i2:=i2+1 end;
i:=i+1
end;
while i1<=n1 do begin
C[i]:=A[i1]; i1:=i1+1; i:=i+1
end;
while i2<=n2 do begin
C[i]:=B[i2]; i2:=i2+1; i:=i+1
end;
’а㤮ҐЄ®бвм ®Ў®Ёе «Ј®аЁв®ў– «ЁҐ©п.
“Ї®а冷票Ґ ббЁў. „ 楫®зЁб«Ґл© ббЁў. “Ї®а冷зЁвм ҐЈ® Ї® ў®§абвЁо.
Џгбвм ўе®¤ «Ј®аЁв Ї®бвгЇов:
1) Є®«ЁзҐбвў® зЁбҐ« – ЇҐаҐҐп n;
2) 楫®зЁб«Ґл© ббЁў – ЇҐаҐҐп A. Ќ®Ґа н«ҐҐв®ў ў ббЁўҐ – ®в 1 ¤® n.
€¤Ґп «Ј®аЁв (Їг§л४). ‚ гЇ®а冷祮 ббЁўҐ ¤«п «оЎ®© Їал а冷 бв®пйЁе н«ҐҐв®ў ¤®«¦® ўлЇ®«пвмбп гб«®ўЁҐ:
A[i] <= A[i+1].
Џгбвм «Ј®аЁв Ї®б«Ґ¤®ўвҐ«м® ўлЇ®«пҐв бࢥЁп:
A[i] > A[i+1].
ЏаЁ Є¦¤® бࢥЁЁ ў®§®¦л ¤ў Ёб室:
1) A[i] > A[i+1], १г«мвв бࢥЁп ЁбвЁҐ, ў нв® б«гзҐ н«ҐҐвл ббЁў A[i] Ё A[i+1] ¤®«¦л ®ЎҐпвмбп бў®ЁЁ §зҐЁпЁ;
2) A[i] <= A[i+1], १г«мвв бࢥЁп «®¦Ґ, ®ЎҐ ¤Ґ«вм Ґ 㦮.
‘ࢥЁп 㦮 ўлЇ®«Ёвм Ї®б«Ґ¤®ўвҐ«м® ®в з« ббЁў ¤«п ўбҐе Їа б®бҐ¤Ёе н«ҐҐв®ў. Џ®б«Ґ ®¤®Єав®Ј® Їа®е®¤ Ї® ббЁўг бл© Ў®«ми®© н«ҐҐв Ї®Ї¤Ґв Ї®б«Ґ¤ҐҐ Ґбв® (Їг§л४ ўбЇ«лўҐв). Ћ Ў®«миҐ Ґ Ўг¤Ґв гзбвў®ўвм ў бࢥЁпе, нв® б«Ґ¤гҐв гзҐбвм ЇаЁ §ЇЁбЁ жЁЄ«.
„«п в®Ј®, зв®Ўл Є¦¤л© н«ҐҐв Ї®Ї« бў®Ґ Ґбв®, 㦮 ўлЇ®«Ёвм n-1 Їа®е®¤®ў Ї® ббЁўг.
Ђ«Ј®аЁв 1.
for j:=1 to n-1 do
for i:=1 to n-j do
{(n - j) + 1 – ¤«Ё ҐгЇ®а冷祮© збвЁ ббЁў}
if A[i]>A[i+1] then begin
z:=A[i]; A[i]:=A[i+1]; A[i+1]:=z
end;
’а㤮ҐЄ®бвм «Ј®аЁв. ‚® ўаҐп ЁбЇ®«ҐЁп ўҐиҐЈ® жЁЄ« ЇаЁ j = 1 ўгв२© жЁЄ« аЎ®вҐв (n – 1) а§, ЇаЁ j =2 – (n – 2) а§, Ё в.¤. ’ЄЁ ®Ўа§®, ®ЎйҐҐ Є®«ЁзҐбвў® иЈ®ў ўгв॥Ј® жЁЄ« – бг н«ҐҐв®ў аЁдҐвЁзҐбЄ®© Їа®ЈаҐббЁЁ n – 1, n – 2, …, 2, 1. ќв бг аў n*(n – 1) / 2, в.Ґ. ва㤮ҐЄ®бвм – Єў¤авЁзп.
Ђ«Ј®аЁв 2.
€¤Ґо бࢥЁп б®бҐ¤Ёе н«ҐҐв®ў ¤агЈ б ¤агЈ® ®¦® ЁбЇ®«м§®ўвм, ўлЇ®«пп Їа®е®¤л Ї® ббЁўг ®в i-Ј® н«ҐҐв Є з«г. ’Єп Ї®б«Ґ¤®ўвҐ«м®бвм ¤Ґ©бвўЁ© ЇаЁў®¤Ёв Є в®г, зв® Є ®Ґвг бࢥЁп A[i] б A[i+1] ЇҐаўлҐ i н«ҐҐв®ў ®Є§лўовбп гЇ®а冷зҐлЁ. Џ®нв®г ¤«п Є¦¤®Ј® ®ў®Ј® §зҐЁп, ЇҐаҐҐйо饣®бп Ї® Їаў«ҐЁо Є з«г ббЁў, ®¦® Їа®ў®¤Ёвм бࢥЁп в®«мЄ® ¤® вҐе Ї®а, Ї®Є ®® ҐмиҐ бў®ҐЈ® б®бҐ¤ б«Ґў. ’Є®© Ґв®¤ §лўҐвбп ®ЎҐ®© б®авЁа®ўЄ®©.
for j:=1 to n-1 do {жЁЄ« Їа®е®¤®ў Ї® ббЁўг}
begin i:=j;
while (i>0)and(A[i]>A[i+1]) do begin
z:=A[i]; A[i]:=A[i+1]; A[i+1]:=z;
i:=i-1
end {ўгв२© жЁЄ« §Є®зЁ«бп, ЇаЁ нв® ўлЇ®«пҐвбп }
{ ®¤® Ё§ гб«®ўЁ©: «ЁЎ® i=0, «ЁЎ® A[i]<=A[i+1]}
end;
’а㤮ҐЄ®бвм «Ј®аЁв. ‚ ег¤иҐ б«гзҐ ўгв२© жЁЄ« ўлЇ®«Ёв вЄ®Ґ ¦Ґ Є®«ЁзҐбвў® иЈ®ў, ЄЄ ў «Ј®аЁвҐ 1, в.Ґ. ®Ўйп ва㤮ҐЄ®бвм «Ј®аЁв 2 – Єў¤авЁзп. Ћ¤Є®, Ґб«Ё ббЁў 㦥 гЇ®а冷зҐ, ўгв२© жЁЄ« ў®®ЎйҐ Ё а§г Ґ Ўг¤Ґв ўлЇ®«пвмбп, Ё ва㤮ҐЄ®бвм «Ј®аЁв 2 Ўг¤Ґв «ЁҐ©®©.
‡¤зЁ ¤«п б®бв®п⥫쮣® аҐиҐЁп
3.1. “Ї®p冷зЁвм 楫®зЁб«Ґл© ббЁў, б®бв®пйЁ© в®«мЄ® Ё§ 0, 1 Ё«Ё 2.
3.2. „ гЇ®а冷зҐл© 楫®зЁб«Ґл© ббЁў A Ё§ n н«ҐҐв®ў Ё ҐЄ®в®а®Ґ зЁб«®ў®Ґ §зҐЁҐ p. ЋЇаҐ¤Ґ«Ёвм ЁвҐаў« ®Ґа®ў н«ҐҐв®ў, ЁҐойЁе §зҐЁҐ p.
3.3. „ гЇ®а冷зҐл© 楫®зЁб«Ґл© ббЁў A Ё§ n н«ҐҐв®ў Ё 2 зЁб«®ўле §зҐЁп p Ё q. Ќ©вЁ вЄ®© ®Ґа i, зв® A[i]=p, Ё вЄ®© ®Ґа j, зв® A[j]=q. Џ®¤бзЁввм, бЄ®«мЄ® н«ҐҐв®ў 室пвбп Ґ¦¤г нвЁЁ §зҐЁпЁ ў ббЁўҐ.
3.4. „ гЇ®а冷зҐл© 楫®зЁб«Ґл© ббЁў. ‘д®аЁа®ўвм ўв®а®© ббЁў Ё§ ўбҐе вЄЁе ৫Ёзле §зҐЁ©, Є®в®алҐ ў ЇҐаў® ббЁўҐ ўбваҐзовбп Ї® ¤ў Ё Ў®«ҐҐ а§.
3.5. „ бва®Ј® гЇ®а冷зҐл© ббЁў 楫ле зЁбҐ«. ‘д®аЁа®ўвм ўв®а®© ббЁў Ё§ вЄЁе зЁбҐ«, Є®в®алҐ Ё а§г ў ЇҐаў® ббЁўҐ Ґ ўбваҐзовбп Ё ЁҐов ўҐ«ЁзЁг Ў®«миҐ ЁЁ«м®Ј® Ё ҐмиҐ ЄбЁ«м®Ј® Ё§ зЁбҐ« ЇҐаў®Ј® ббЁў.
3.6. * „л ¤ў гЇ®а冷зҐле 楫®зЁб«Ґле ббЁў: A, ᮤҐа¦йЁ© n1 н«ҐҐв®ў, Ё ‚ Ё§ n2 н«ҐҐв®ў. ЏҐаҐЇЁбвм н«ҐҐвл Ё§ нвЁе ббЁў®ў ў ббЁў C вЄ, зв®Ўл ббЁў C Ўл« гЇ®а冷зҐл; ᮤҐа¦« ўбҐ §зҐЁп Ё§ ббЁў®ў A Ё B; ᮤҐа¦« в®«мЄ® Ґб®ўЇ¤ойЁҐ Ґ¦¤г б®Ў®© §зҐЁп.
3.7. * „л ¤ў гЇ®а冷зҐле 楫®зЁб«Ґле ббЁў: A, ᮤҐа¦йЁ© n1 н«ҐҐв®ў, Ё ‚ Ё§ n2 н«ҐҐв®ў. ЏҐаҐЇЁбвм Ё§ ббЁў A ў ббЁў C ўбҐ вЄЁҐ н«ҐҐвл, §зҐЁп Є®в®але Ґ б®ўЇ¤ов Ё б ®¤Ё Ё§ §зҐЁ© н«ҐҐв®ў ббЁў B. ЏаЁ нв® вॡгҐвбп, зв®Ўл ббЁў C Ўл« гЇ®а冷зҐл.
3.8. ** „л 2 зЁб«®ўле (ўҐйҐб⢥ле) ббЁў: Ђ (m) н«ҐҐв®ў) Ё B (n н«ҐҐв®ў). ќ«ҐҐвл ббЁў Ђ гЇ®а冷зҐл Ї® ў®§абвЁо Ё а§ЎЁўов зЁб«®ўго ®бм m+1 ЁвҐаў« б® §зҐЁпЁ: ҐҐҐ A[1], ®в A[1] ¤® A[2], ®в A[2] ¤® A[3] Ё в.¤.
ЊббЁў ‚ Ґ гЇ®а冷зҐ. ЋЇаҐ¤Ґ«Ёвм, бЄ®«мЄ® н«ҐҐв®ў ббЁў B Ї®Ї¤Ґв ў Є¦¤л© Ё§ ЁвҐаў«®ў, Ё ўлўҐб⨠१г«мввл Ї® ўбҐ ЁвҐаў« ў ўЁ¤Ґ:
1) ЈаЁжл ЁвҐаў«,
2) зЁб«® н«ҐҐв®ў ‚, Ї®ЇўиЁе ў ¤л© ЁвҐаў«.
3.9. „ 楫®зЁб«Ґл© ббЁў, гЇ®а冷зЁвм ҐЈ® Ґв®¤® ўбвў®Є. €§«®¦Ё Ё¤Ґо Ґв®¤ ўбвў®Є. Ѓг¤Ґ бзЁввм, зв® ў з«Ґ ббЁў абЇ®«ЈҐвбп i гЇ®а冷зҐле н«ҐҐв®ў, ўз«Ґ i=1. Ќ Є¦¤® иЈҐ «Ј®аЁв ЎҐаҐвбп ®зҐаҐ¤®© (i+1)-© н«ҐҐв, ¤«п ҐЈ® ®влбЄЁўҐвбп Ї®§ЁжЁп j б।Ё гЇ®а冷зҐле н«ҐҐв®ў, Є®в®а®© ® ¤®«¦Ґ ®Є§вмбп. ‚бҐ н«ҐҐвл б j-Ј® ¤® i-Ј® 㦮 б¤ўЁгвм ®¤г Ї®§ЁжЁо ўЇаў®, (i+1)-© н«ҐҐв Ї®бвўЁвм Ґбв® j
3.10. * “Ї®p冷зЁвм 楫®зЁб«Ґл© ббЁў, §зҐЁп н«ҐҐв®ў Є®в®а®Ј® ®Јгв Ўлвм ў ЇаҐ¤Ґ«е ®в 1 ¤® 100.
3.11. ‡¤ 楫®зЁб«Ґл© ббЁў. Џ®¤бзЁввм зЁб«® p§«Ёзле §зҐЁ© н«ҐҐв®ў ў ббЁўҐ.
3.12. ‚ 楫®зЁб«Ґ® ббЁўҐ ©вЁ вЄ®Ґ §зҐЁҐ, Є®в®а®Ґ Ї®ўв®pпҐвбп ЄбЁ«м®Ґ Є®«ЁзҐбвў® p§.
3.13. „ 楫®зЁб«Ґл© ббЁў A Ё§ n н«ҐҐв®ў. €бЇ®«м§гп ўбЇ®®ЈвҐ«мл© ббЁў S, гЇ®а冷зЁвм ббЁў A Є®бўҐ®, в.Ґ. ©вЁ вЄго ЇҐаҐбв®ўЄг н«ҐҐв®ў S, зв®: A[S[1]] <= A[S[2]] <= . . . <= A[S[n]]. ЏаЁ нв® н«ҐҐвл ббЁў A ҐбвЁ Ґ Ґпвм.
4. ЊЂ’ђ€–›
‚лў®¤ §Ґ©ЄЁ. „ ваЁж Ё§ n бва®Є Ё m бв®«Ўж®ў, ЇаЁзҐ n > m. ‚뢥бвЁ ҐЄ®в®алҐн«ҐҐвл ваЁжл ў вЄ® Ї®ап¤ЄҐ, ЄЄ нв® гЄ§® зЁб«Ё аЁбгЄҐ (н«ҐҐвл ваЁжл, ®Ў®§зҐлҐ зҐав®зЄЁ, ўлў®¤Ёвм Ґ 㦮):
- | - | ||
- | |||
- | |||
- | - | ||
- | |||
- | |||
- | - | ||
- | |||
- |
. . .
Џгбвм ўе®¤ «Ј®аЁв Ї®бвгЇов:
1) Є®«ЁзҐбвў® бва®Є – ЇҐаҐҐп n;
2) Є®«ЁзҐбвў® бв®«Ўж®ў – ЇҐаҐҐп m;
3) ваЁж (¤ўгҐал© зЁб«®ў®© ббЁў) – ЇҐаҐҐп A.
€¤Ґп «Ј®аЁв. „«п ўлў®¤ бва®Є ваЁжл ®аЈЁ§гҐ жЁЄ« ®в 1 ¤® n. Ќ Є¦¤® i- иЈҐ жЁЄ« ўлў®¤Ёвбп ¤ў Ё«Ё ваЁ н«ҐҐв б ®ҐаЁ бв®«Ўж®ў ®в k1 ¤® k2. ‚бЇ®®ЈвҐ«мп ЇҐаҐҐп p ®ЇаҐ¤Ґ«пҐв Їаў«ҐЁҐ б¤ўЁЈ ¤«п Ї®б«Ґ¤го饩 бва®ЄЁ. …б«Ё p = 1, в® ®Ґа k1 Ё k2 б¤ўЁЈовбп ўЇаў®, Ґб«Ё p = – 1, в® ў«Ґў®.
’а㤮ҐЄ®бвм «Ј®аЁв Ї®¤бзЁввм «ҐЈЄ®: жЁЄ« Ї® i ўлЇ®«Ёвбп а®ў® n а§, ЇаЁ нв® ў жЁЄ«Ґ ўлў®¤Ёвбп ЄбЁг ваЁ н«ҐҐв Ё ўлЇ®«пҐвбп дЁЄбЁа®ў®Ґ Є®«ЁзҐбвў® ¤агЈЁе ¤Ґ©бвўЁ©. ’ЄЁ ®Ўа§®, б в®з®бвмо ¤® Ї®бв®п®Ј® ®¦ЁвҐ«п «Ј®аЁв ЁҐҐв ва㤮ҐЄ®бвм Ї®ап¤Є n («ЁҐ©го).
АЁв.
j:=0;
for i:=1 to n do {жЁЄ« Ї® бва®Є}
begin k1:=j; k2:=k1+2;
if j=0 then begin p:=1; k1:=1 end
else if j=m-1 then begin p:=-1; k2:=m end;
for l:=k1 to k2 do write(A[i,l],' ');
j:=j+p
end