По числу x определим p(x) как произведение его цифр. Рассмотрим последовательность x, p(x),
p(p(x))... Стойкостью x назовем индекс (начиная с 0) первого
однозначного числа в этой последовательности. Например, из 99 получим
последовательность 99, 9 * 9 = 81, 8 * 1 = 8. Стойкость числа 99 равна 2. По
заданному числу n определите его
стойкость.
Вход. Каждая
строка содержит одно целое число n (0
≤ n ≤ 2 * 109).
Выход. Для
каждого значения n выведите в
отдельной строке его стойкость.
| 
   Пример входа  | 
  
   Пример выхода  | 
 
| 
   99 268 6  | 
  
   2 4 0  | 
 
рекурсия
Последовательно
вычисляем значения x, p(x), p(p(x)), … до тех пор, пока очередное число в последовательности не
станет меньше 10. Функция p(x)
вычисляет произведение цифр числа x.
Реализация алгоритма
Функция p(x) вычисляет произведение цифр числа x.
int p(int x)
{
  return
(x < 10) ? x : p(x / 10) * (x % 10);
}
Основная часть программы. Читаем входное значение n.
while(scanf("%d",&n)
== 1)
{
В переменной cnt
подсчитываем количество итераций n = p(n), это и будет стойкость исходного
числа.
  int
cnt = 0;
  while(n
> 9)
  {
    cnt++;
    n = p(n);
  }
Выводим ответ.
  printf("%d\n",cnt);
}