2.Напишите программу, которая в последовательности целых чисел
определяет, каких чисел больше — чётных или оканчивающихся на 3 — и
насколько. Программа получает на вход целые числа, количество введённых
чисел неизвестно, последовательность чисел заканчивается числом 0 (0 —
признак окончания ввода, не входит в последовательность). Количество чисел
не превышает 1000. Введённые числа по модулю не превышают 30 000.
Программа должна вывести сообщение и одно число: каких чисел больше —
чётных или оканчивающихся на 3 — и на сколько. Если количество чисел
одинаково, то вывести это количество.
Пример работы программы:
Входные данные
182
13
12
8
5
0
Выходные данные
чётных больше на 2 числа
решить paython решите пжжпжпжпж а то мне капец пж решите ДАЮ 50БАЛЛОВ
Ответы на вопрос
Ответ:
var a,b,c:Integer;
begin
while (true) do
begin
Read(a);
if a = 0 then
break
else
if a mod 2 = 0 then
b+=1
else
if a mod 10 = 3 then
c+=1;
end;
if b<c then
WriteLn('Чисел оканчивающихся на 3 больше на '+(c-b)+' раз(а)')
else if c<b then
WriteLn('Четных чисел больше на '+(b-c)+' раз(а)')
else
WriteLn('Таких чисел нет.');
end.
Объяснение:
a1 = 0
a2 = 0
al = 0 # для проверки, что введённые числа не превышают 1000
while 1:
a = int(input())
if a > 30000:
print("Err")
elif al == 1000:
print("Чисел больше 1000")
elif a == 0:
break
elif a % 2 == 0:
a1 += 1
elif str(a)[-1] == "3":
a2 += 1
al += 1
if a1 > a2:
print(f"четных больше на {a1-a2} числ")
elif a2 > a1:
print(f"оканчивающихся на 3 больше на {a2-a1} числ")
else:
print("Одинаково")