ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Оффтоп > Болталка
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Загадка :)
  #1  
Старый 03.09.2009, 11:49
crawen_s
Новичок
Регистрация: 19.07.2009
Сообщений: 17
Провел на форуме:
134119

Репутация: 2
По умолчанию Загадка :)

как запрограмировать вычисление функции z = x16 (x в 16 степени), с использованием наименшего количества операций умножения ???
 
Ответить с цитированием

  #2  
Старый 03.09.2009, 11:56
HakaR
Участник форума
Регистрация: 23.07.2009
Сообщений: 261
Провел на форуме:
4435957

Репутация: 539
По умолчанию

Не сюда пришёл!
 
Ответить с цитированием

  #3  
Старый 03.09.2009, 11:57
REBUUS
Постоянный
Регистрация: 06.04.2009
Сообщений: 383
Провел на форуме:
1288105

Репутация: 328
По умолчанию

использовать циклы
или что то типа этого:

(x+x+x+x+x+x+x+x+x+x+x+x+x+x+x+x)(x^16)
 
Ответить с цитированием

  #4  
Старый 03.09.2009, 11:59
rushter
Reservists Of Antichat - Level 6
Регистрация: 23.05.2008
Сообщений: 756
Провел на форуме:
9257858

Репутация: 979


Отправить сообщение для rushter с помощью ICQ
По умолчанию

Z^х
pascal
z=exp(ln(z) * x)
php
$z =exp(log($z) * $x)

Последний раз редактировалось rushter; 03.09.2009 в 12:13..
 
Ответить с цитированием

  #5  
Старый 03.09.2009, 11:59
Ponchik
Постоянный
Регистрация: 30.08.2005
Сообщений: 730
Провел на форуме:
6828219

Репутация: 2274


По умолчанию

Ему скорей всего для паскаля =\
ня http://programmersforum.ru/showthread.php?t=4192
гугол наше фсё
 
Ответить с цитированием

  #6  
Старый 03.09.2009, 12:00
geezer.code
Reservists Of Antichat - Level 6
Регистрация: 22.01.2007
Сообщений: 616
Провел на форуме:
7452489

Репутация: 1359


По умолчанию

побитовый сдвиг, не ?
 
Ответить с цитированием

  #7  
Старый 03.09.2009, 12:00
flacs
Познающий
Регистрация: 28.01.2009
Сообщений: 90
Провел на форуме:
432613

Репутация: 80
По умолчанию

[Delphi, PASCAL]
Цитата:
uses math;

function power_Ex(x: Extended): extended;
begin
Result:= Power(x,16);
end;
Если произвести анализ системной функции Power, в результате мы придем к исходнику функции IntPower

Цитата:
function IntPower(const Base: Extended; const Exponent: Integer): Extended;
asm
mov ecx, eax
cdq
fld1 { Result := 1 }
xor eax, edx
sub eax, edx { eax := Abs(Exponent) }
jz @@3
fld Base
jmp @@2
@@1: fmul ST, ST { X := Base * Base }
@@2: shr eax,1
jnc @@1
fmul ST(1),ST { Result := Result * X }
jnz @@1
fstp st { pop X from FPU stack }
cmp ecx, 0
jge @@3
fld1
fdivrp { Result := 1 / Result }
@@3:
fwait
end;
Как видно из листинга команда умножения вызывается 2 раза, я думаю это оптимальный вариант, т.к. все системные функции библиотеки math, оптимизированы.
 
Ответить с цитированием

  #8  
Старый 03.09.2009, 12:28
Fepsis
Постоянный
Регистрация: 17.09.2008
Сообщений: 562
Провел на форуме:
6962560

Репутация: 536


По умолчанию

Ну вообще задачка больше математическая... Если условие таково, что можно юзать только операцию умножения, то первое что приходит на ум, реализуется с помощью 4-х операций умножения...

$x = число;
for ($i = 1; $i <= 4; $i++)
$x = $x*$x;
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загадка fire64 Болталка 8 21.07.2009 09:40
Ещё одна загадка) .:EnoT:. Болталка 25 05.07.2009 12:25
Детская загадка №2 4NT1P0V Болталка 5 25.06.2009 00:32
Загадка Эйнштейна Fata1ex Болталка 22 22.06.2009 00:04



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ