powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Возвести 2 в натуральную степень
20 сообщений из 20, страница 1 из 1
Возвести 2 в натуральную степень
    #34191454
Ой Вэй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А именно 0, 1, 2 (,3 ,4).

pow -- тупо
цикл -- тупо
case -- тупо

А красиво никак нельзя?
...
Рейтинг: 0 / 0
Возвести 2 в натуральную степень
    #34191470
Фотография Анатолий Широков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе пора глобус менять - на планете земля остался лишь табличный способ, но боюсь он тебя не удовлетворит - но на всякий случай - берешь для каждого 2^[32|64] составляешь таблицу натуральных степеней и наслаждаешься сложностью O(1)
...
Рейтинг: 0 / 0
Возвести 2 в натуральную степень
    #34191477
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой ВэйА красиво никак нельзя?Красиво - бинарным сдвигом влево единицы на величину степени минус один.
PS. 0 - не является натуральным числом.
...
Рейтинг: 0 / 0
Возвести 2 в натуральную степень
    #34191482
Фотография Int_64
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x^y = exp(x*ln(y)), тока следи за корректностью переменных
...
Рейтинг: 0 / 0
Возвести 2 в натуральную степень
    #34191544
Ой Вэй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2miksoft
ты один меня понимаешь ;)
...
Рейтинг: 0 / 0
Возвести 2 в натуральную степень
    #34191610
Фотография Анатолий Широков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Красиво - бинарным сдвигом влево единицы на величину степени минус один


Ха, "возвести 2" я как раз и пропустил - подумал, что любое целое в степень.
...
Рейтинг: 0 / 0
Возвести 2 в натуральную степень
    #34191676
SnowMan2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот допустим нужно возвести M в степень N (M и N - натуральные) не пользуясь експонентой и заранее подготовленным массивом, каково по Вашему минимальное кол-во умножений.
...
Рейтинг: 0 / 0
Возвести 2 в натуральную степень
    #34191683
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SnowMan2А вот допустим нужно возвести M в степень N (M и N - натуральные) не пользуясь експонентой и заранее подготовленным массивом, каково по Вашему минимальное кол-во умножений.примерно так:
(Log2(N) с округлением в большую сторону)+(кол-во единиц в двоичном представлении числа N)-1
...
Рейтинг: 0 / 0
Возвести 2 в натуральную степень
    #34191684
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft SnowMan2А вот допустим нужно возвести M в степень N (M и N - натуральные) не пользуясь експонентой и заранее подготовленным массивом, каково по Вашему минимальное кол-во умножений.примерно так:
(Log2(N) с округлением в большую сторону)+(кол-во единиц в двоичном представлении числа N)-1Это если M - вещественное.

Если M - целое, то (кол-во единиц в двоичном представлении числа N)-1
...
Рейтинг: 0 / 0
Возвести 2 в натуральную степень
    #34191692
SnowMan2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С Log2(N) с округлением я согласен,
а вот насчет:
Если M - целое, то (кол-во единиц в двоичном представлении числа N)-1

както сомнительно, например 5 в 5-ой степени. 5 - 101 в двоичной, т.е. 2 единицы как за одно умножение не представляю (может чего-то не понял).
...
Рейтинг: 0 / 0
Возвести 2 в натуральную степень
    #34191703
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SnowMan2С Log2(N) с округлением я согласен,
а вот насчет:
Если M - целое, то (кол-во единиц в двоичном представлении числа N)-1

както сомнительно, например 5 в 5-ой степени. 5 - 101 в двоичной, т.е. 2 единицы как за одно умножение не представляю (может чего-то не понял).Хм... что-то я прогнал...
Я пытался использовать тот факт, что сдвиг влево эквивалентен умножению на степень двойки, но формально умножением не является

надо ехать домой спать :(
...
Рейтинг: 0 / 0
Возвести 2 в натуральную степень
    #34191724
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а ведь можно все умножения заменить на сложения, т.е. минимально количество умножений - 0 :)
...
Рейтинг: 0 / 0
Возвести 2 в натуральную степень
    #34191871
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftа ведь можно все умножения заменить на сложения, т.е. минимально количество умножений - 0 :)

Общеизвестный математический факт. Если перевести числа в логарифмический масштаб, то их сложение даст эффект умножения в масштабе обычном. В старые бородатые времена, этим пользовались. Логарифмическая линейка заменяла научный калькулятор. Вот так-то.
...
Рейтинг: 0 / 0
Возвести 2 в натуральную степень
    #34192646
Фотография Int_64
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftа ведь можно все умножения заменить на сложения, т.е. минимально количество умножений - 0 :)
чем то напоминает методы индийских программистов
...
Рейтинг: 0 / 0
Возвести 2 в натуральную степень
    #34192671
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftКрасиво - бинарным сдвигом влево единицы на величину степени минус один.неа
...
Рейтинг: 0 / 0
Возвести 2 в натуральную степень
    #34192733
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmo miksoftКрасиво - бинарным сдвигом влево единицы на величину степени минус один.неапочему?
...
Рейтинг: 0 / 0
Возвести 2 в натуральную степень
    #34192775
Фотография Int_64
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmo miksoftКрасиво - бинарным сдвигом влево единицы на величину степени минус один.неа
Вроде бы самый красивый вариант для решения конкретной задачи, в самом деле, почему "неа"?
...
Рейтинг: 0 / 0
Возвести 2 в натуральную степень
    #34192806
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2^n=1<<n
...
Рейтинг: 0 / 0
Возвести 2 в натуральную степень
    #34192816
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ошибка была 50%
...
Рейтинг: 0 / 0
Возвести 2 в натуральную степень
    #34192866
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmo2^n=1<<nда, насчет минус единицы я тоже промахнулся, согласен.
таки надо спать больше, а на работе сидеть меньше :)
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Возвести 2 в натуральную степень
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]