1. Главная
  2. Библиотека
  3. Высшая математика
  4. G. Я ненавижу 1111 ограничение по времени на тест1 секу...
Решение задачи

G. Я ненавижу 1111 ограничение по времени на тест1 секунда ограничение по памяти на тест256 мегабайт Вам дано целое число x . Можете ли вы получить x , просуммировав некоторое количество 11,111,1111,11111,… ? (Вы можете использовать любое число среди них

  • Высшая математика

Условие:

G. Я ненавижу 1111
ограничение по времени на тест1 секунда
ограничение по памяти на тест256 мегабайт
Вам дано целое число x
. Можете ли вы получить x
, просуммировав некоторое количество 11,111,1111,11111,…
? (Вы можете использовать любое число среди них любое количество раз).

Например,

33=11+11+11
144=111+11+11+11
Входные данные
Первая строка ввода содержит одно целое число t
(1≤t≤10000)
— количество наборов входных данных.

Первая и единственная строка каждого набора входных данных содержит одно целое число x
(1≤x≤109)
— число, которое вы должны получить.

Выходные данные
Для каждого набора входных данных вы должны вывести одну строку. Если вы можете получить x
, выведите «YES» (без кавычек). В противном случае выведите «NO».

Вы можете вывести каждую букву из «YES» и «NO» в любом регистре (верхнем или нижнем).

Пример
Входные данныеСкопировать
3
33
144
69
Выходные данныеСкопировать
YES
YES
NO
Примечание
Cпособы получения 33
и 144
были представлены в условии. Можно показать, что мы не можем представить 69
таким образом.

Решение:

Для решения данной задачи, нам нужно определить, можем ли мы представить число x как сумму чисел вида 11, 111, 1111, 11111, \ldots. Эти числа можно выразить в виде 10k + 10k-1 + \ldots + 100 для k ≥ 0.

Каждое из этих чисел можно записать как 11 × n, где n — это количество единиц в числе. Таким образом, мы можем использовать числа 11 и 111 для формирования суммы.

Подхо...

1. : Если x делится на 11, то мы можем использовать только 11 для формирования суммы. 2. : Если x не делится на 11, то мы можем проверить, можем ли мы получить остаток от деления x на 11, используя числа вида 111, 1111, \ldots. 3. : Мы можем использовать 111 (который равен 11 × 10 + 1) и 11 для формирования суммы. 1. Для каждого числа x: - Проверить, можно ли представить x как сумму 11 и 111. - Если x больше или равно 111, то мы можем использовать 111 и 11 для формирования суммы. - Если x меньше 111, проверить, можно ли получить x с помощью только 11. Вот пример кода, который решает данную задачу: 1. Функция проверяет, можем ли мы получить число x с помощью комбинации 11 и 111. 2. Мы перебираем количество раз, которое мы можем использовать 111 (от 0 до x // 111). 3. Для каждого количества 111 проверяем, можем ли мы получить оставшуюся часть x с помощью 11. 4. В считываем количество тестов и сами числа, затем выводим результаты. Этот код эффективно решает задачу в пределах заданных ограничений.

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет