Здравствуйте! помогите пожалуйста решить 2 задачу с Паскалем.
(я просто вообще не шарю в этом, а писать всё равно нада хех)
Вопрос:
Напишите процедуру, в которой определяется сумма четных цифр числа N. Процедуру включите в программу, в которой пользователь вводит N, запускается процедура и программа печатает ответ.
Приложения:
![](https://st.uroker.com/files/7e0/7e003df4cb659834d98e43ba3a276c34.jpg)
Ответы
Ответ дал:
0
Выбирайте, как вам больше нравится: первая картинка - рекурсия, вторая - итерация. Окно вывода: первая строка - ввод, вторая - вывод. Код можно скопировать из комментариев под решением.
Приложения:
![](https://st.uroker.com/files/862/862b0c7a48ab6ad77d88054193a97b0b.png)
![](https://st.uroker.com/files/eac/eac80a105cb5c4a6fbd8d5ea3a7feb87.png)
Ответ дал:
0
procedure foo(a, n: integer);
begin
if a = 0 then
Write(n)
else
foo(a div 10, n + (a mod 10) * Ord(a mod 2 = 0));
end;
var
a: integer;
begin
Read(a);
foo(Abs(a), 0);
end.
begin
if a = 0 then
Write(n)
else
foo(a div 10, n + (a mod 10) * Ord(a mod 2 = 0));
end;
var
a: integer;
begin
Read(a);
foo(Abs(a), 0);
end.
Ответ дал:
0
procedure bar(a, n: integer);
begin
while a <> 0 do
begin
if a mod 2 = 0 then
n += a mod 10;
a := a div 10
end;
Write(n)
end;
var
a: integer;
begin
Read(a);
bar(Abs(a), 0)
end.
begin
while a <> 0 do
begin
if a mod 2 = 0 then
n += a mod 10;
a := a div 10
end;
Write(n)
end;
var
a: integer;
begin
Read(a);
bar(Abs(a), 0)
end.
Ответ дал:
0
И лучший ответ поставьте.
Вас заинтересует
1 год назад
2 года назад
2 года назад
7 лет назад
7 лет назад