Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python
Войти
Регистрация
Восстановить пароль
 
MrPeeklz
0 / 0 / 0
Регистрация: 02.05.2018
Сообщений: 4
1

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

02.05.2018, 19:03. Просмотров 391. Ответов 5
Метки нет (Все метки)

По данному натуральному числу 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2018, 19:03
Ответы с готовыми решениями:

Дано вещественное число A и целое число N (> 0). Используя один цикл, найти сумму
Дано вещественное число A и целое число N (> 0). Используя один цикл, найти...

Дано вещественное число A и целое число N (> 0). Используя один цикл, найти значение выражения
Дано вещественное число A и целое число N (> 0). Используя один цикл, найти...

Определить, какое наименьшее число операций необходимо для того, чтобы получить из числа 1 заданное число N
Калькулятор выполняет 3 операции: Прибавить к числу единицу. Умножить число...

Проверка на целое число
Условие задачи: Необходимо написать ф-цию is_int, которая будет проверять:...

Вывести наименьшее и наибольшее число
Здравствуйте. Подскажите пожалуйста новичку! Учу Pythone по книжке Марка...

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

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

Вот без операции возведения в степень
Python
1
2
3
4
5
n = int(input())
k = 0
while (1 << k) < n:
    k += 1
print( k )
0
woldemas
443 / 314 / 173
Регистрация: 06.09.2013
Сообщений: 952
02.05.2018, 21:22 5
MrPeeklz,
Python
1
2
3
from math import log, ceil
n = int(input())
print(ceil(log(n)/log(2)))
0
MrPeeklz
0 / 0 / 0
Регистрация: 02.05.2018
Сообщений: 4
02.05.2018, 21:26  [ТС] 6
Спасибо, конечно
Но суть этого задания именно в том, чтобы решить это исключительно через while, без импорта
0
02.05.2018, 21:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.05.2018, 21:26

Вывести одно целое число
Имя входного файла: input.txt Имя выходного файла: output.txt Ограничение по...

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

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru