ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1009. K-ичные числа

explanation of the algorithm
Послано capoeirista 13 мар 2005 18:28
a[0] := 1; a[1] := k-1;
a[i] := (k-1)*(a[i-1] + a[i-2]);

why? could someone explain it?

thanks a bunch!!
Re: explanation of the algorithm
Послано popolzen 13 мар 2005 21:16
1. I do not really understand why a[0]=1
2. My assumptions were a[1]=k-1 and a[2]=k*(k-1). (It fits for your assumptions)
3. Anyway... for any k and n:
   a. First digit is nonzero => Quantity of possible first digits k-1. Multiplying it by a[n-1] we have (k-1)*a[n-1]. Requirements are satisfied because a[n-1] numbers have leading nonzero also.
   b. First digit nonzero, second - zero, then a[n-2] numbers that are leading with nonzero again. (k-1)*a[n-2].
   c. As result (k-1)*(a[n-1]+a[n-2])

Edited by author 13.03.2005 21:17
Re: explanation of the algorithm
Послано capoeirista 14 мар 2005 00:07
thank you very much indeed!