Суббота, 09 Ноября 2024, 05:09

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Как возвести число в степень.
GcuperДата: Пятница, 21 Сентября 2012, 18:24 | Сообщение # 1
частый гость
Сейчас нет на сайте
Итак, задача такая.Возвести в степень число на ГМЛ.Например мне лень писать
p2=p*p
Мне нужен оператор который возводит числа в степень. Жду ответа. Очень нужно.


Как я сюда попал....Эх тыж бессердечная винда ты моя.
LunarPixelДата: Пятница, 21 Сентября 2012, 18:26 | Сообщение # 2
старожил
Сейчас нет на сайте
Справку читаем! smile

power(x,n) - возвращает x в степени n


MaxaonДата: Среда, 26 Сентября 2012, 15:03 | Сообщение # 3
участник
Сейчас нет на сайте
x=get_lnteger('','')
p=get_integer('','')
s=x;
for(a=p;a>=0;a-=1)
{
x=x*s;
}
return x;


Сообщение отредактировал Maxaon - Четверг, 27 Сентября 2012, 16:33
MrAkakuyДата: Среда, 26 Сентября 2012, 15:08 | Сообщение # 4
участник
Сейчас нет на сайте
Maxaon, ты наркоман что-ли? или школьник? прокрути в голове мысленно весь цикл:
Шаг 1:
х = 5 (допустим изначально)
х = х*х = 5*5 = 25
Шаг 2:
х = 25
х = 25*25 = 625
И получается у тебя полая ересь, так как 5^3 = 125 а не 625. Не проверил однако.





Сообщение отредактировал MrAkakuy - Среда, 26 Сентября 2012, 15:09
EF61Дата: Среда, 26 Сентября 2012, 15:25 | Сообщение # 5
был не раз
Сейчас нет на сайте
Quote (MrAkakuy)
или школьник?

Ох, как же это смешно звучит из уст школьника. wink Разве в gml нельзя использовать x=y^n?



RumataДата: Среда, 26 Сентября 2012, 15:32 | Сообщение # 6
почетный гость
Сейчас нет на сайте
Quote (EF61)
Разве в gml нельзя использовать x=y^n?

Я, конечно, не со всеми языками программирования знаком, но такой оператор впервые вижу. Это ж где его можно использовать?



Dva_KotaДата: Среда, 26 Сентября 2012, 15:36 | Сообщение # 7
заслуженный участник
Сейчас нет на сайте
EF61, нельзя (точнее можно, но это будет не возведение в степень).

Добавлено (26.09.2012, 15:36)
---------------------------------------------
Rumata, например в Excel.


Новый пример инвентаря! /20.06.2012/

Energy Wars
EF61Дата: Среда, 26 Сентября 2012, 15:39 | Сообщение # 8
был не раз
Сейчас нет на сайте
Rumata, в питоне что-то подобное было. Просто вспомнилось.


MaxaonДата: Пятница, 28 Сентября 2012, 21:25 | Сообщение # 9
участник
Сейчас нет на сайте
MrAkakuy, чукча, посмотри внимательнее
ReanДата: Суббота, 29 Сентября 2012, 01:09 | Сообщение # 10
участник
Сейчас нет на сайте
Maxaon, а алгоритм действительно кривой. Причем это очевидно.
MrAkakuy, конечно, не прав, но ошибка следующая:

При x = 3, p = 2
Code
for(a=p;a>=0;a-=1)

При таком раскладе будет выполнено три итерации (а = 2, а = 1, а = 0). Что имеем в результате?
Code

Первый проход.
x = 3 * 3 = 9
Второй проход.
x = 9 * 3 = 27
Третий проход.
x = 27 * 3 = 81


В итоге получаем, что 3 во 2 степени у нас равно 81.

И вообще, зачем все так усложнять, можно было ведь проще сделать:
Code

s = 1;
for (i = 0; i < p; i += 1)
   s = s * x;
return s;
NazaДата: Суббота, 29 Сентября 2012, 13:06 | Сообщение # 11
GMUser
Сейчас нет на сайте
Quote (Rean)
зачем все так усложнять, можно было ведь проще сделать:

А еще проще, как указал LunarPixel: pow(x, p);
Тему, кстати, можно закрыть.
Автор получил ответ, и, тем более в бане.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг