[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ближайшее значение степени двойки без цикла
Guest
Есть число $x, необходимо найти ближайшее значение двойки($y), которое будет больше или равно $x, не используя циклы и рекурсию.
Пример:
$x = 12, $y = 16;
$x = 100, $y = 128;
$x = 32, $y = 32;
redreem
студент? smile.gif скока платишь? smile.gif
Guest
redreem
не угадал
Увидел турнирную сетку по олимпийской системе, и задался вопросом, можно ли рассчитать число слотов без цикла.
redreem
так используй цикл и рекурсии и считай сколько влезет, зачем такое ограничение? smile.gif
Игорь_Vasinsky
пардон

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Guest
redreem
слишком просто.
Пока придумал только через логарифм
Placido
Находим двоичный логарифм числа $x, округляем до большего целого, возводим в полученную степень двойку:
echo pow(2, ceil(log($x, 2)));
redreem
все очень просто:
1. первести число в 2-ичную систему
2. проверить, что число не попадает под шаблон '10000000....0', если попадает, то это и так степень двойки
3. взять строку = 1 . '0000...' - нулей столько, скольк разрядов в 1-м пункте
4. перевести строку обратно в десятичную систему
smile.gif
где мои пряники? smile.gif
redreem
Placido
ну или так, наверно, если работает smile.gif
Zzepish
Теперь я понимаю, чем отличается программист, от кодера
Arh
Цитата (Zzepish @ 31.10.2013 - 17:53)
Теперь я понимаю, чем отличается программист, от кодера

Да уж, я даже не вкурил что такое "значение двойки($y)"

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Zzepish
Arh
оно и есть просто значение двойки! А $y в скобках- просто уточнение, где эта двойка
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.