Алгоритми муносиби интихоб кардан дар PHP
Баъзан мушкилии рамз ба он вобаста аст, ки ҳалли беҳтарини масъала интихоб нашудааст.
Бигзор, масалан, пешоми мо вазифаи ёфтани
ҷамъи ададҳои бутун аз 1 то 1000000 истода бошад.
Вазифаи гузошташударо ҳал кунем:
<?php
$sum = 0;
for ($i = 1; $i <= 1000000; $i++) {
$sum += $i;
}
echo $i;
?>
Чӣ ғалат аст? Масъала дар он аст, ки барои ҳалли вазифаи гузошташуда ҳали математикӣ мавҷуд аст.
Ин ҳал қариб ҳеҷ захира намехоҳад! Онро барномасозӣ кунем:
<?php
$n = 1000000;
$sum = $n * ($n + 1) / 2;
echo $sum;
?>
Панд: пеш аз ҳалли вазифаи захирабаранда, ҳатман тафтиш кунед, ки оё барои ҳалли он формулаи математикии тайёр ё равиши математикии тайёр вуҷуд надорад.
Миқдори ададҳоеро ёбед, ки ба 5 бе боқимонда
тақсим мешаванд, аз фосилаи 1 то
1000.
Миқдори рақамҳоеро ёбед, ки барои навиштани
ҳамаи ададҳо аз 1 то 1000000
зарур хоҳад буд.
Ҳамаи ададҳои соддаро дар фосилаи
1 то 10000 ёбед. Вазифа бо ситора,
ҳал кардан мумкин нест.