Вычислить количество цифр заданного натурального числа n - Turbo Pascal

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

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

Написать программу с рекурсивной функцией, вычисляющей количество цифр заданного натурального числа n.

Решение задачи: «Вычислить количество цифр заданного натурального числа n»

textual
Листинг программы
function CountN(N:integer):integer;
begin
 if (N div 10)=0 then
 CountN:=1
 else
  begin
   CountN:=1+CountN(n div 10);
  end;
end;
VAr a:integer;
begin
readln(a);
writeln(CountN(a));
 readln;
end.

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

  1. В функции CountN переменной N присваивается значение integer, которое представляет собой натуральное число, для которого необходимо вычислить количество цифр.
  2. В условии if (N div 10)=0 then проверяется, делится ли число N на 10 без остатка. Если да, то выполняется блок кода внутри then, который представляет собой базовый случай: функция возвращает 1.
  3. Если базовый случай не выполнился, то выполняется вложенный блок кода begin ... end;. В этом блоке переменной n присваивается значение N div 10, то есть результат деления числа N на 10. Затем вызывается рекурсивный вызов функции CountN с аргументом n, который представляет собой число, состоящее из одной цифры.
  4. Рекурсивный вызов функции CountN увеличивает значение счетчика CountN на единицу. Это происходит до тех пор, пока число n не станет равным 0.
  5. В основной программе переменной a присваивается значение, введенное пользователем. Затем вызывается функция CountN с аргументом a, и результат выводится на экран.
  6. После вывода результата функции CountN программа ожидает ввода следующего числа, после чего цикл повторяется.

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

14   голосов , оценка 4.357 из 5
Похожие ответы