Қадамҳоро мешуморем
Мо сонияҳоро намешуморем, зеро онҳо аз компютер вобастаанд. Мо қадамҳо-ро мешуморем: амалҳои оддӣ, мисли ҷамъ, муқоиса, хондан ё тағйир додани як катак. Муҳим он аст, ки шумораи қадамҳо бо андозаи n-и вуруд чӣ тавр меафзояд.
a[i] = 7;ёcout << a[p - 1];чанд қадам мегирад, барои ҳарnяксон.- Сикл аз болои вектор тақрибан
nқадам мегирад. - Ду сикл пай дар пай тақрибан
2nмегиранд: боз ҳам «тақрибанn». - Сикле, ки дар ҳар гузариш тамоми сикли векторро иҷро мекунад, тақрибан
n · n = n²мегирад.
Қоидаи тахминӣ: компютер дар як сония тақрибан 10⁸ қадами оддӣ мекунад. Ин қоидаи дағал аст, аммо барои нақшакашӣ бехатар. Барои n = 10⁵, n қадам як ҳазорӯми сония мегирад. n² 10¹⁰ қадам аст: тақрибан 100 сония, хеле аз маҳдудият зиёд.
Маҳдудиятҳо мегӯянд, ки чӣ қадар тез бояд буд
Ҳар шарт калонтарин вурудро медиҳад, мисли 1 ≤ n ≤ 10⁵. Онро пеш аз навиштани код ба ҳисоби қадамҳо гузоред:
nто 5000:n²ба 2,5 · 10⁷ баробар аст, дар як сония хуб аст;nто 10⁵:n²ба 10¹⁰ баробар аст, хеле суст. Танҳо тақрибанnқадам ҷой мешавад, чанд гузариш;nто 10⁶:n²ба 10¹² баробар аст, ваnқадам вуруди зудро талаб мекунад.
Маҳдудияти 10⁵ оромона мегӯяд: «як гузариш, ё чанд гузариш: на сикл аз болои ҳама барои ҳар ҷузъ». Маҳдудияти 1000 ё 5000 аксар баръаксро мегӯяд: сикл барои ҳар ҷузъ интизор меравад.
Сикле, ки ҳар дафъа тамоми сиклро иҷро мекунад
Барномаи суст аксаран як шакл дорад: барои ҳар ҷузъ он боз аз ҳамаи ҷузъҳо мегузарад.
Кинотеатр чиптаҳоро бо рақамҳои 1 то
nфурӯхт. Баъд аз намоишn - 1-и онҳо, бо тартиби дилхоҳ, баргардонида шуданд. Кадом чипта намерасад?
Ғояи аввал: ҳар адади k-ро аз 1 то n санҷед ва онро дар байни чиптаҳо ҷӯед. Онро бо ҳисобкунак қадам ба қадам гузаред: