e-olymp 128. Счастливые билеты

Задача.  Подсчитайте количество счастливых билетов, у которых сума первых трёх цифр равна [latex]N(N \leq 27)[/latex].

Счастливым билетом называется билет с шестизначным номером, у которого сумма первых трёх цифр равна сумме трёх последних.

Тесты

Число [latex]N[/latex] 3 27 26 1 10
Количество билетов 100 1 9 9 3969

Код программы

Алгоритм

Любой шестизначный номер мы можем представить как 2 трехзначных номера.

Рассмотрим все варианты трехзначных номеров. Две первые цифры такого номера могут быть любыми. Переберем все их комбинации с помощью двух вложенных циклов. Для третьей цифры введем специальное условие. Она должна быть результатом вычитания двух первых цифр из [latex]N[/latex], а также быть именно цифрой, то есть меньшей 10.

Когда в цикле встречается подходящая комбинация, мы увеличиваем счетчик [latex]c[/latex] на 1. Поскольку на самом деле номер шестизначный, то каждой удачной комбинации в первой его половине будет соответствовать [latex]c[/latex] комбинаций во второй. Следовательно, искомое число счастливых билетов будет равно [latex]c \cdot c[/latex].

Решение

Код программы

5 thoughts on “e-olymp 128. Счастливые билеты

  1. Хорошо. Но
    — в условии тоже нужно использовать latex для N (N ≤ 27)
    — нужно написать ключевые слова (tags) — наиболее важные слова и словосочетания из Вашего текста
    — когда пишите программу, используйте клавишу табуляция для отступов (или по крайней мере 2 — 4 пробела)
    — определитесь, где будете ставить пробел в коде программы — до скобки, после скобки или сразу оба.

  2. Хорошо. Молодец.
    — В математике для умножения принято использовать точку (\cdot), а не звёздочку. — [latex]c \cdot c[/latex].
    — Я не могу раскрыть закономерности в Вашей расстановке пустых строк. Может удалим часть? Только те, для которых у Вас тоже нет объяснения.
    — В таблице есть «Число N». Мы ведь договорились про latex?