PHP-ում օպտիմալ ալգորիթմի ընտրություն

Երբեմն կոդի խնդիրը կարող է կապված լինել նրա հետ, որ խնդիրը լուծելու համար ընտրված է ոչ ամենաօպտիմալ լուծումը:

Ենթադրենք, օրինակ, մեր առջև խնդիր է դրված գտնել ամբողջ թվերի գումարը 1-ից մինչև 1000000: Լուծենք առաջադրված խնդիրը.

php<?php
  $sum = 0;
  
  for ($i = 1; $i <= 1000000; $i++) {
    $sum += $i;
  }
  
  echo $i;
?>

Ի՞նչ է սխալ: Բանն այն է, որ այս խնդիրը լուծելու համար գոյություն ունի մաթեմատիկական լուծում:

Այս լուծումը գործնականում ռեսուրսներ չի պահանջում: Ծրագրավորենք այն.

php<?php
  $n = 1000000;
  $sum = $n * ($n + 1) / 2;
  echo $sum;
?>

Բարոյականություն. ռեսուրսատար խնդիր լուծելուց առաջ պարտադիր ստուգեք, արդյոք դրա լուծման համար գոյություն ունի պատրաստի մաթեմատիկական բանաձև կամ պատրաստի մաթեմատիկական մոտեցում:

Задание 1

Գտեք 1-ից մինչև 1000 միջակայքում 5-ի վրա առանց մնացորդի բաժանվող թվերի քանակը:

Задание 2

Գտեք այն թվանշանների քանակը, որոնք անհրաժեշտ կլինեն 1-ից մինչև 1000000 բոլոր թվերը գրելու համար:

Задание 3

Գտեք բոլոր պարզ թվերը 1-ից մինչև 10000 միջակայքում: Աստղանիշով խնդիր է, կարող եք չլուծել: