K-ичные числа

Эта задача почти не отличается от предыдущей, если число представить как стопку, а нули — как контейнеры типа A. Очевидно, что все числа разбиваются на три класса. Остается только прописать переходы при добавлении одной цифры. Лучше (привычнее) сделать это в десятичной системе счисления, а затем заменить девятки (количество ненулевых цифр) на K – 1, а десятки — на K. В результате основной цикл будет выглядеть так:

for i := 2 to N do
  begin
   OTZ := TZ; OZ := Z; ONZ := NZ;
   TZ := OTZ * K + Z; {TZ — два нуля}
   Z := ONZ; {Z — один ноль}
   NZ := OZ * (K - 1) + ONZ * (K - 1) {NZ — в конце не ноль}
  end;
к занятию № 2

 


Рейтинг ресурсов УралWeb

 

Сайт создан в системе uCoz