Описать функцию, возвращающую сумму четных цифр целого положительного числа К - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Описать функцию sum(k) целого типа, возвращающую сумму четных цифр целого положительного числа К. Если таковых нет, то функция возвращает-1. Помогите

Решение задачи: «Описать функцию, возвращающую сумму четных цифр целого положительного числа К»

textual
Листинг программы
  1. function f(a : longint; is_empty : boolean = true) : integer;
  2. begin
  3.   if a > 0 then
  4.     f := f(a div 10, is_empty and odd(a mod 10)) +
  5.          (a mod 10) * ord(not odd(a mod 10))
  6.   else
  7.     if is_empty then f := -1 else f := 0;
  8. end;
  9.  
  10. begin
  11.   writeln(f(1557)); // -1
  12.   writeln(f(2557)); // 2
  13.   writeln(f(1557)); // -1
  14. end.

Объяснение кода листинга программы

В данном коде реализована функция f, которая принимает целочисленный аргумент a и логический аргумент is_empty (по умолчанию true). Если число a больше нуля, то функция рекурсивно вызывает саму себя, урезав число на последнюю цифру (a div 10), и добавляет к результату произведение последней цифры числа на 2 в случае нечётности этой цифры (odd(a mod 10)). В противном случае, если число a меньше или равно нулю, функция проверяет значение переменной is_empty. Если оно равно true, то возвращает -1, иначе возвращает 0. В основной части кода вызывается функция f с аргументами 1557 и 2557, и выводится результат в консоль.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы