Dinamik dasturlashda esa, masalaning optimal yechimi topiladi. Bunda masala qism masalalarga ajratilib keyin umumlashtirilgani uchun yechimni olishda xasislik algoritmidan biroz ko’proq vaqt sarflanadi. Yechim esa optimal bo’ladi. Masala uchun Dinamik dasturlashda algoritm murakkabligi bahosi O(n^2) ga teng.
Amaliy qism
1-misol. Shunday uch xonali son topingki, uni 11 ga bo’lganda bo’linma uning raqamlari yig’indisiga teng bo’lsin.
Program L23;
uses Crt;
var a, n, p, s : integer;
begin a := 100;
writeln(' 11 ga bo’lganda bo’linma uning raqamlari yig’indisiga teng ’);
write(‘bo’lgan uch xonali son ');
repeat n := a; s := 0;
repeat p := n mod 10;
s := s + p*p;
n := n div 10
until n = 0;
if (a mod 11 = 0) and (s = a div 11) then write(a, '; ');
a := a + 1