Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Алгоритмы
Курсы ККДП
Дистрибутивы
Ссылки

HotLog


 

Плохой хеш

(Время: 1 сек. Память: 16 Мб Сложность: 54%)

Вам знакомо понятие хеширования? Это способ представления какого-либо объекта в виде целого числа – хеша. Одинаковые объекты должны иметь одинаковый хеш, а вот разные не обязательно: их хеш может совпадать. Но чем чаще такое происходит, тем хуже метод хеширования.

Маша придумала свой способ хеширования целых чисел: за хеш числа X она принимает S(X) – сумму всех циклических сдвигов числа X.

Например, S(47) = 47 + 74 = 121, а S(9090) = 9090 + 909 + 9090 + 909 = 19998.

Ваша задача – взломать хеш: для данного H найти количество таких X, что S(X) = H.

Входные данные

Первая строка входного файла INPUT.TXT содержит целое число T – количество тестов (1 ≤ T ≤ 50).

Следующие T строк содержат по одному целому числу H (1 ≤ H ≤ 1018).

Выходные данные

В выходной файл OUTPUT.TXT для каждого теста выведите ответ в отдельной строке – количество способов раскодировать число.

Пример

INPUT.TXTOUTPUT.TXT
13
7
22
123
1
2
0

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 Книги Фёдора Меньшикова
 Тренировочные олимпиады
 Школьный этап
 Муниципальный этап
 Региональный этап
 Полуфинал ВКОШП
 Личное первенство СФУ
 2006 / 2007
 2007 / 2008
 2008 / 2009
 2009 / 2010
 2010 / 2011
 2011 / 2012
 2012 / 2013
 2013 / 2014
 2014 / 2015
 2015 / 2016
 2016 / 2017
 2017 / 2018
 2018 / 2019
 A. Книги
 B. Рейд-Босс
 C. Сапёр
 D. Стоунхендж 2077
 E. Новый будильник
 F. Тепло
 G. Очень длинный корень
 H. Плохой хеш
 I. Максимальное число
 J. Дроны фермера Джона

Красноярский краевой Дворец пионеров, (c)2006 - 2019, E-mail: admin@acmp.ru