Когда использование операций с плавающей запятой для вычисления потолочного целого числа log2 не удается?Python

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Когда использование операций с плавающей запятой для вычисления потолочного целого числа log2 не удается?

Сообщение Гость »


Мне любопытно, какой первый ввод отличает эти две функции:

из математического импорта * def ilog2_ceil_alt(i: int) -> int: вернуть ячейку (log2 (i)) def ilog2_ceil(i: int) -> int: возврат (i-1).bit_length() ... Я пытался запустить этот тестовый код в течение нескольких минут, но он не вернулся:

... тест проверки (я): если ilog2_ceil(i) != ilog2_ceil_alt(i): вернуть я Защиту основного (начало = 1): импорт многопроцессорности, itertools р = многопроцессорность.Пул() it = p.imap_unordered(test, itertools.count(start), 100) return next (i для i в нем, если я не None) если __name__ == '__main__': я = основной() print("Неудачный случай:", i) Я пробовал тестировать разные большие значения, такие как 2**32 и 2**64 + 9999, но с ними все получилось.

Каково наименьшее (положительное) целое число, для которого функция alt дает сбой?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»