Задачка по програмированию

программирование программы математика задача

Нужно найти количество чисел заданного порядка, модуль разницы соседних цифр которых не больше 1
Тоесть:
Для чисел порядка 1(все однозначные числа) = 9 (нет соседних цифр)
Для чисел порядка 2(двухзначные) = 26(10, 11, 21, 22, 23... )

Реализация не интересует. Интересует или алгоритм или формула по которой можно найти это количество.

несколько первых результатов полученых прямым перебором:
1 - 9
2 - 26
3 - 75
4 - 217

Примечание:
перебор был компютерный (=
почему считаете что потерялось 12? где я туплю?
подскажите как посчитать через размещения?

Примечание:
Алгоритм и программа для прямого перебора уже есть. Меня не интересует прямой перебор, так как это олимпиадная задача и там нужно находить для чисел длинной в 20 знаков. Олимпиада прошла, задачу не решил. Просто интересно есть ли в этой задачи математика (=

Примечание:
понял, спасибо.
Ответы:
перебор явно был не компьютерный
в частности потерялось 12 в двузначных
алгоритм будет зависеть от языка программировани, наличия в нём функции преобразования числа в строку и наоборот
но скорей всего можно через размещения и перестановки посчитать без компа
========
не, может и не потерялось
просто не зарисовано в списке  = 26(10, 11, 21, 22, 23... )
26 правильно получается
по три в каждом десятке, кроме последнего (98,99)
========
танцевать надо от двузначных, но ещё добавить, сочетание символов 01
двузначное размещается в двадцатизначном девятнадцатью способами
для начала умножить на 27
а дальше начинается куча подсчётов по исключению тех, которые посчитали дважды, трижды и более.
ну и естественно 01 исключить там, где оно на первом месте
// Для чисел первого порядка, на вскидку
а = 1;
НашеКоличество = 0;


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.