Петя загадал рациональное число (несократимую дробь) больше нуля и меньше единицы, со знаменателем меньшим либо равным N. Вы можете задавать ему вопросы типа "верно ли, что число меньше R?" где вместо R можно подставлять любое рациональное число.
По числу N определите минимальное число вопросов M, которых наверняка хватит, чтобы узнать загаданное Петей число. То есть такое число M, что существует алгоритм задавания вопросов, который при данном N для всех возможных вариантов загаданного числа узнает, чему равно загаданное число меньше либо равно, чем за M вопросов, и алгоритма с меньшим M не существует.
Формат входных данных
Во входном файле записано натуральное число (1 < N < 1000).
Формат выходных данных
Одна строчка, в которой находится натуральное число - минимальное число вопросов, которых наверняка хватит, чтобы угадать загаданное число.
Формат ввода
2
Формат вывода
0
Другие языки программирования и технологии
Пожалуйста помогите Прошу
Пусть дробь: a / b
a и b - взаимно простые, т. е. НОД (a,b) = 1 т. к. дробь не сократимая
0 < a / b < 1
b <= N
1 < N < 1000
"верно ли, что число меньше R?" - вопрос подразумевает два вариант ответа и ответ на этот вопрос уменьшает неопределенность информации на 1 бит, т. е. в 2 раза.
Значит количество вопросов, вероятно log2(N - 1)
т. к. если знаменатель b <= N, то числитель должен быть меньше знаменателя минимум на 1, чтобы дробь была меньше 1 (по условию), т. е. a <= N - 1
В общем, это первое что пришло на ум. Не уверен в корректности этого решения. Проверь, подумай сам еще.
a и b - взаимно простые, т. е. НОД (a,b) = 1 т. к. дробь не сократимая
0 < a / b < 1
b <= N
1 < N < 1000
"верно ли, что число меньше R?" - вопрос подразумевает два вариант ответа и ответ на этот вопрос уменьшает неопределенность информации на 1 бит, т. е. в 2 раза.
Значит количество вопросов, вероятно log2(N - 1)
т. к. если знаменатель b <= N, то числитель должен быть меньше знаменателя минимум на 1, чтобы дробь была меньше 1 (по условию), т. е. a <= N - 1
В общем, это первое что пришло на ум. Не уверен в корректности этого решения. Проверь, подумай сам еще.
Пусть дробь: a / b
a и b - взаимно простые, т. е. НОД (a,b) = 1 т. к. дробь не сократимая
0 < a / b < 1
b <= N
1 < N < 1000
"верно ли, что число меньше R?" - вопрос подразумевает два вариант ответа и ответ на этот вопрос уменьшает неопределенность информации на 1 бит, т. е. в 2 раза.
Значит количество вопросов, вероятно log2(N - 1)
т. к. если знаменатель b <= N, то числитель должен быть меньше знаменателя минимум на 1, чтобы дробь была меньше 1 (по условию), т. е. a <= N - 1
В общем, это первое что пришло на ум. Не уверен в корректности этого решения. Проверь, подумай сам еще.
a и b - взаимно простые, т. е. НОД (a,b) = 1 т. к. дробь не сократимая
0 < a / b < 1
b <= N
1 < N < 1000
"верно ли, что число меньше R?" - вопрос подразумевает два вариант ответа и ответ на этот вопрос уменьшает неопределенность информации на 1 бит, т. е. в 2 раза.
Значит количество вопросов, вероятно log2(N - 1)
т. к. если знаменатель b <= N, то числитель должен быть меньше знаменателя минимум на 1, чтобы дробь была меньше 1 (по условию), т. е. a <= N - 1
В общем, это первое что пришло на ум. Не уверен в корректности этого решения. Проверь, подумай сам еще.
Похожие вопросы
- Пожалуйста! Помогите я вас очень прошу! Где скачать виртуал дуб последнюю версию.
- Пожалуйста, очень прошу, помогите, кто разбирается в программировании
- Пожалуйста помогите как создать простинкую програму.
- Народ помогите прошу !!!
- Люди пожалуйста помогите заблокирован windows
- Пожалуйста, помогите исправить ошибки в программах на С++!
- Пожалуйста помогите разобраться с даним кодом C++. Тема : Односвязание списки
- Пожалуйста, помогите решить задачку по информатике...
- Turbo Pascal помогите пожалуйста. помогите пожалуйста с написание программы для вычисления 1-й и 2-й производной функции
- Люди, кто умееть работать в QBasic, ПОЖАЛУЙСТА ПОМОГИТЕ!!!