З огляду на перелік математичних виразів, які всі відповідають дійсності і складаються з модульних обчислень, що залишилися, з двома числами та результатом, ваше завдання - дати перші n
числа, які відповідають дійсності для всіх висловлювань у списку.
Наприклад:
[m % 3 = 0, m % 4 = 1, m % 5 = 3]
, де% - оператор модуля.
Для n
= 3, перші 3 числа (рахуючи від 0), які відповідають послідовності 33, 93, 153
, таким чином, ваш результат буде таким (формат залежить від вас).
Правила / IO
- Ви берете позитивну кількість
n
і список істин. Звичайно, що вам потрібно взяти - це лише РЗС модульної роботи та результат. n
і числа в списку істин завжди будуть знаходитись у діапазоні 1 -> 2 ^ 31-1 , так само і результати.- Ви приймаєте вклад у будь-якій зручній формі та виводите в будь-якій зручній формі. Наприклад, вхідний сигнал:
3 [3 0, 4 1, 5 3]
і вихід:33 93 153
. - Це гарантовано, що рішення можливо математично.
- Джерело введення може бути з файлу, параметрів функції, stdin тощо. Те саме стосується виводу.
- Без лазівки
- Це код-гольф, тому виграє найменший байт.
Тестові шафи
# Input in the form <n>, <(d r), (d2 r2), ...>
# where <d> = RHS of the modulo expression and <r> the result of the expression. Output in the next line.
5, (3 2), (4 1), (5 3)
53 113 173 233 293
3, (8, 0), (13, 3), (14, 8)
120 848 1576
Реалізація посилань у псевдокоді
n = (an integer from stdin)
truths = (value pairs from stdin)
counter = 0
while n != 0 {
if matches_criterias(counter, truths) {
print counter
n -= 1
}
counter += 1
}
0
дійсний результат?