"...напечатает сначала 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
при необходимости прогу можно переделать чтобы она находила только максимальное число.
Язык Паскаль.
Program Ski;
const n=5; {длина массива}
var: a:array [1..n] of integer; i,s:integer;
begin
For i:=1 to n do begin
Writeln('vvedite element massiva nomer ',i);
Read(a[i]);
end; {Тут мы просим пользователя ввести элементы}
s:=0; {s - это указанная тобой сумма. Мы ее соответственно обнуляем сначала}
for i:=1 to n do begin
if a[i] mod 10=0 then s:=s+a[i];
end;
{ берем каждый элемент массива, и проверяем, делится ли он на 10 без остатка(mod- это остаток от деления на указанное число). Если все в порядке, тогда прибавляем число к общей сумме }
Writeln('summa elementov ravnih nulu ',s); {пишет ответ}
readln; {чтобы сразу не закрывалась программа}
end.
Если возникнут вопросы или появится еще подобное задание для решения, пиши прямо в личку. Мне все равно делать нечего )