"...напечатает сначала 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
при необходимости прогу можно переделать чтобы она находила только максимальное число.
number = int(input())
last_number = 0
even = 0
odd = 0
while (number > 0):
last_number = number % 10
if (last_number % 2 == 0):
even += 1
else:
odd += 1
number //= 10
print("Even = ", even, "Odd = ", odd)
Объяснение:
number = int(input()) // Объявление + ввод переменной
last_number = 0 // Переменная для хранения последней цифры числа
even = 0 // Количество четных
odd = 0 // Количество нечетных
while (number > 0): // Пока число > 0
last_number = number % 10 // Получаем последнюю цифру числа
if (last_number % 2 == 0): // Если цифра делится на 2 без остатка
even += 1 // В переменную even делаем + 1
else: // Иначе
odd += 1 // В переменную odd делаем + 1
number //= 10 // Удаляем последнюю цифру числа
print("Even = ", even, "Odd = ", odd) // Вывод
nn = 50;{максимальное число элементов}
var
a: array[1..nn] of integer;
m, n, max, min, i, kn, kz, kp, kt, nmax, nmin, t: integer;
begin
Write('Задайте количество элементов в массиве (1-50): '); Readln(n);
Write('Введите значение для поиска: '); Readln(t);
Writeln('Введите элементы массива');
max := -32768; min := 32767; kn := 0; kz := 0; kp := 0; kt := 0;
for i := 1 to n do
begin
Read(m);
if max < m then begin max := m; nmax := i end
else if min > m then begin min := m; nmin := i end;
if m < 0 then Inc(kn)
else if m = 0 then Inc(kz) else Inc(kp);
if m = t then Inc(kt);
a[i] := m
end;
m := a[nmax]; a[nmax] := a[nmin]; a[nmin] := m;
Writeln('Результирующий массив');
for i := 1 to n do Write(a[i], ' ');
Writeln;
Writeln('Количество элементов, равных ', t, ': ', kt);
Writeln('Количество отрицательных элементов равно ', kn);
Writeln('Количество нулевых элементов равно ', kz);
Writeln('Количество положительных элементов равно ', kp)
end.
Тестовое решение:
Задайте количество элементов в массиве (1-50): 13
Введите значение для поиска: 7
Введите элементы массива
15 -6 11 0 7 0 18 -7 -3 -4 7 0 12
Результирующий массив
15 -6 11 0 7 0 -7 18 -3 -4 7 0 12
Количество элементов, равных 7: 2
Количество отрицательных элементов равно 4
Количество нулевых элементов равно 3
Количество положительных элементов равно 6