- 23, Oct 2024
- #1
Я порылся в Интернете и нашел эту головоломку Google Code Jam. Мне оно очень понравилось, поэтому я решил опубликовать его здесь.
Новая лотерея
Лотерея меняется! Раньше в лотерее был автомат,
сгенерировать случайное выигрышное число. Но из-за проблем с мошенничеством, Лотерея решила добавить еще один автомат. Новый выигрышный номер будет результатом побитовой операции И между двумя случайными числа, сгенерированные двумя машинами. Чтобы найти побитовое И из Х и Да.
, запишите их оба в двоичном формате; тогда 7 = 0111 11 = 1011бит в двоичном результате имеет 1, если соответствующие биты Х.
и Y были как 1, так и 0 в противном случае. В большинстве языков программирования .
побитовое И из Х.
и Да, написано X&Y Например: старая машина генерирует число.
новая машина генерирует номер. Выигрышный номер будет
быть
(7 И 11) = (0111 И 1011) = 0011 = 31 ≤ Благодаря этой мере лотерея рассчитывает сократить случаи
1 ≤ мошеннические претензии, но, к сожалению, сотрудник лотереи ≤ 1000. 1 ≤ ≤ 1000. 1 ≤ компания слила следующую информацию: старая машина будет
1 ≤ всегда генерировать неотрицательное целое число меньше, чем ≤ 109. 1 ≤ А ≤ 109. 1 ≤ и новый
Input Output 5 Case #1: 10 3 4 2 Case #2: 16 4 5 2 Case #3: 52 7 8 5 Case #4: 2411 45 56 35 Case #5: 14377 103 143 88
всегда будет генерировать неотрицательное целое число меньше, чем Б Каталина хочет выиграть в эту лотерею и решила попробовать.
https://code.google.com/codejam/contest/2994486/dashboard#s=p1
купить все неотрицательные целые числа меньше
К