Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/302: Рейтинг темы: голосов - 302, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 02.05.2018
Сообщений: 4

Выведите такое наименьшее целое число k, что 2ᵏ≥N

02.05.2018, 19:03. Показов 64369. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
По данному натуральному числу N выведите такое наименьшее целоечисло k, что 2ᵏ≥N.

Операцией возведения в степень пользоваться нельзя!

Моя попытка:

Python
1
2
3
4
5
6
n = int(input())
k = 0
while n > 0:
    k += 1
    n = n // 2
print(k)
Но работает неверно.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.05.2018, 19:03
Ответы с готовыми решениями:

Если существует такое число A, что после приведения его в порядок, получается B, то выведите любое такое число
У Миши развитое эстетическое чувство. Он считает, что не все числа одинаково порядочные. Когда ему грустно, он начинает придумывать числа и...

По данному натуральному числу N выведите такое наименьшее целое число k, что 2k≥N
Здраствуйте. У меня тут несколько задач. Пожалуста помогите!!! Очень нужно. 1) По данному натуральному числу N выведите такое наименьшее...

Определить такое наименьшее целое k, что 2^k≥n (do/while)
Для заданного натурального числа n определите такое наименьшее целое k, что 2^k≥n. Например, при вводе числа 7 программа должна...

14
 Аватар для regio1961
601 / 293 / 178
Регистрация: 06.06.2016
Сообщений: 552
02.05.2018, 20:52
Python
1
2
3
4
5
n = int(input())
k = 0
while 2**k < n:
    k += 1
print( k )
0
0 / 0 / 0
Регистрация: 02.05.2018
Сообщений: 4
02.05.2018, 21:09  [ТС]
То же самое
При вводе двойки должен выдавать 1-ую степень, а выдает вторую
При вводе еденицы должен выдавать 0 степень, а выдает первую
Во всех остальных случаях работает как надо

PS. Пользоваться операцией возведения в степень нельзя
0
 Аватар для regio1961
601 / 293 / 178
Регистрация: 06.06.2016
Сообщений: 552
02.05.2018, 21:18
Цитата Сообщение от MrPeeklz Посмотреть сообщение
При вводе двойки должен выдавать 1-ую степень, а выдает вторую
При вводе еденицы должен выдавать 0 степень, а выдает первую
Мы, наверно, по разному видим консоль , я вижу иначе.

Вот без операции возведения в степень
Python
1
2
3
4
5
n = int(input())
k = 0
while (1 << k) < n:
    k += 1
print( k )
1
677 / 479 / 216
Регистрация: 06.09.2013
Сообщений: 1,312
02.05.2018, 21:22
MrPeeklz,
Python
1
2
3
from math import log, ceil
n = int(input())
print(ceil(log(n)/log(2)))
0
0 / 0 / 0
Регистрация: 02.05.2018
Сообщений: 4
02.05.2018, 21:26  [ТС]
Спасибо, конечно
Но суть этого задания именно в том, чтобы решить это исключительно через while, без импорта
0
3 / 3 / 0
Регистрация: 24.11.2018
Сообщений: 1
24.11.2018, 21:42
Python
1
2
3
4
5
6
7
n = int(input())
k = 0
p = 1
while p < n:
    p = p * 2
    k += 1
print(k)
3
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
25.11.2018, 01:13
Python
1
2
3
4
5
6
def gg(n):
    k = 0
    while n > 1:
        k += 1
        n = (n + 1) // 2
    return k
2
0 / 0 / 0
Регистрация: 01.03.2019
Сообщений: 5
01.03.2019, 18:49
Пожалуйста, объясните логику программы построчно если не сложно? Я совсем не могу понять!
0
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
02.03.2019, 00:01
Python
1
2
3
4
5
6
def gg(n):                # Объявление функции
    k = 0                 # Начальное значение k
    while n > 1:          # Пока n больше 1
        k += 1            # Увеличиваем k
        n = (n + 1) // 2  # При этом n делим пополам с округлением ВВЕРХ
    return k.             # Получили нужное число
1
0 / 0 / 0
Регистрация: 14.02.2020
Сообщений: 7
14.02.2020, 14:59
Python
1
2
3
4
5
6
def gg(n):                # Объявление функции
    k = 0                 # Начальное значение k
    while n > 1:          # Пока n больше 1
        k += 1            # Увеличиваем k
        n = (n + 1) // 2  # При этом n делим пополам с округлением ВВЕРХ
    return k.             # Получили нужное число
Объясните, пожалуйста, валенку, как работает XOR и почему решение задачи выше верное. В условии задачи написано, что мы должны указать наименьшее натуральное число, которое удовлетворяет условию:такое наименьшее целое число k , что 2^k >= N
Если на вход программе мы задаём, например, число 10, то она выдаёт число 4. При этом, если я делаю в консоли 2^4 , то будет равно 6, что явно не удовлетворяет условию, ибо 6 < 10. Тоже самое и с другими числами.
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,759
14.02.2020, 16:56
Python
1
2
def gg(n):
   return len(format(n, 'b'))
0
243 / 178 / 73
Регистрация: 17.10.2018
Сообщений: 749
14.02.2020, 16:57
Оператор ^ будет выполнять двоичный XOR, в котором двоичный код 1 копируется тогда и только тогда, когда он является значением точно одного операнда. Другой способ заявить, что результат равен 1 только если операнды разные. Примеры включают:

# 0 ^ 0 = 0
# 0 ^ 1 = 1
# 1 ^ 0 = 1
# 1 ^ 1 = 0

# 60 = 0b111100
# 30 = 0b011110
60 ^ 30
# Out: 34
# 34 = 0b100010

bin(60 ^ 30)
# Out: 0b100010

Только причем в этой задаче xor?
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,759
14.02.2020, 17:00
ncmps, в условии задачи прямо сказано про возведение в степень, а не xor.
0
0 / 0 / 0
Регистрация: 14.02.2020
Сообщений: 7
15.02.2020, 00:17
u235, спасибо, уже допёр правда :\ Сколько же я времени убил, чтобы понять, почему не работает XOR так, как указано в задаче... Меня смутил значок "^". А в условии написано, что нельзя использовать возведение в степень. Ну я и думал, нахрен оно и надо ))
Тогда решение совсем простое, а столько времени ушло блин...

Python
1
2
3
4
5
6
7
N = int(input())
k = 0
result = 1
while result < N:
    result *= 2
    k += 1
print(k)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.02.2020, 00:17
Помогаю со студенческими работами здесь

Найти наименьшее число r, такое что 2 ^r≥N
Дано натуральное число N. Найти наименьшее число r, такое что 2r≥N.

Если существует такое число A, что после приведения его в порядок, получается B, то выведите любое такое число
У Миши развитое эстетическое чувство. Он считает, что не все числа одинаково порядочные. Когда ему грустно, он начинает придумывать числа и...

Ввести с клавиатуры целое число N и найти такое наибольшее целое число K, что будет справедливо неравенство
Напишите следующую программу. Ввести с клавиатуры целое положительное число N и найти такое наибольшее целое число K, что будет справедливо...

Для данного натурального числа n определите такое наименьшее целое k, что...
Для данного натурального числа n определите такое наименьшее целое k, что 2k≥n. Например, при вводе числа 7 программа должна вывести 3. ...

посмотрите код, в чем не правильно! (определить наименьшее неотрицательное целое k такое, что b < 2k)
Для каждого числа b из 20 чисел, вводимых с клавиатуры определить наименьшее неотрицательное целое k такое, что b &lt; 2k. код: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru