Сызықтық алгоритмдер – тармақталу мен қайталану әрекеттері жоқ, барлық әрекет тізбекпен, бірінен соң бірі табиғи реттілікпен бір реттен орындалатын алгоритмдік құрылым (1-сұлба).
Тармақталу алгоритмдер – бастапқы қойылған шарттың орындалуына қарай есептеулер жүргізудің бірінші немесе екінші жолымен жүруін көрсететін алгоритмдік құрылым (2-сұлба).
Циклдік алгоритм – бастапқы қойылған шарт орындалғанша қайталанатын командалар тізбегін көрсететін алгоритмдік құрылым. Цикл көмегімен программа құру программаны жазу процесін жеңілдетеді.
"...напечатает сначала 2, потом - 6" -- это значит a=2 и b=6?
про пятеричные записи ничего не понял... :) И ИМХО к чему такие сложности? И для чего нам комп и программа? Я подправил исходную прогу чтобы она выдавала все числа подходящие по условию
var x,a,b: longint;
begin
for var i := 999 DownTo 100 do begin
a := 0;
b := 1;
x := i;
while x>0 do begin
if x mod 2 > 0 then a := a+1 else b := b+(x mod 5);
x := x div 5;
end;
if (a = 2) and (b = 6) then writeln('x = ', i, ' a = ', a, ' b = ',b);
end;
end.
прога проводит расчет для всх трехзначных чисел от 999 до 100
итого мы видим что максимальное подходящее число это 960
при необходимости прогу можно переделать чтобы она находила только максимальное число.
3 түрге бөлінеді.
Объяснение:
Сызықтық алгоритмдер – тармақталу мен қайталану әрекеттері жоқ, барлық әрекет тізбекпен, бірінен соң бірі табиғи реттілікпен бір реттен орындалатын алгоритмдік құрылым (1-сұлба).
Тармақталу алгоритмдер – бастапқы қойылған шарттың орындалуына қарай есептеулер жүргізудің бірінші немесе екінші жолымен жүруін көрсететін алгоритмдік құрылым (2-сұлба).
Циклдік алгоритм – бастапқы қойылған шарт орындалғанша қайталанатын командалар тізбегін көрсететін алгоритмдік құрылым. Цикл көмегімен программа құру программаны жазу процесін жеңілдетеді.
"...напечатает сначала 2, потом - 6" -- это значит a=2 и b=6?
про пятеричные записи ничего не понял... :) И ИМХО к чему такие сложности? И для чего нам комп и программа? Я подправил исходную прогу чтобы она выдавала все числа подходящие по условию
var x,a,b: longint;
begin
for var i := 999 DownTo 100 do begin
a := 0;
b := 1;
x := i;
while x>0 do begin
if x mod 2 > 0 then a := a+1 else b := b+(x mod 5);
x := x div 5;
end;
if (a = 2) and (b = 6) then writeln('x = ', i, ' a = ', a, ' b = ',b);
end;
end.
прога проводит расчет для всх трехзначных чисел от 999 до 100
итого мы видим что максимальное подходящее число это 960
при необходимости прогу можно переделать чтобы она находила только максимальное число.