ФорумПрограммированиеПыхнуть хотите?Готовые решения → Функция для вычисления степеней числа

Функция для вычисления степеней числа

  • kendo

    Сообщения: 446 Репутация: N Группа: Адекваты

    Spritz 20 мая 2008 г. 17:09

    Небольшая функция, чтобы считать большие степени чисел.
    Выглядит коряво, но работает :) Помогли уроки программирования на паскале :D
    Правда, с нецелыми степенями не пробовал запускать :P
    function pow_extended($base, $st) {
    $a[0]=1;
    for ($i=0; $i<$st; $i++) {
    $count=count($a);
    for ($k=0; $k<$count; $k++) {
    $a[$k]*=$base;
    }
    for ($k=0; $k<$count; $k++) {
    if ($a[$k]>=10) {
    $a[$k+1]+=(int)($a[$k]/10);
    $a[$k]%=10;
    }
    }
    }
    return implode("", array_reverse($a));
    }
    print pow_extended(2, 333);

  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 20 мая 2008 г. 17:39, спустя 30 минут 5 секунд

    А чем стандартная pow не угодила?
  • kendo

    Сообщения: 446 Репутация: N Группа: Адекваты

    Spritz 20 мая 2008 г. 20:27, спустя 2 часа 47 минут 36 секунд

    Она не считает такие большие числа и пишет их чрез E (экспонентой что ли зовется)..
  • vasa_c

    Сообщения: 3131 Репутация: N Группа: в ухо

    Spritz 20 мая 2008 г. 21:21, спустя 54 минуты 35 секунд

    Она их никак не пишет. Числа, это числа - последовательность битов в памяти. А как их форматировать при выводе решает программист.
    http://ru2.php.net/manual/ru/function.gmp-pow.php
  • Patrick

    Сообщения: 506 Репутация: N Группа: Кто попало

    Spritz 20 мая 2008 г. 22:49, спустя 1 час 28 минут 4 секунды


    Она не считает такие большие числа и пишет их чрез E (экспонентой что ли зовется)..

    а где нужны такие большие числа?
  • kendo

    Сообщения: 446 Репутация: N Группа: Адекваты

    Spritz 21 мая 2008 г. 9:09, спустя 10 часов 20 минут 4 секунды

    Patrik, нигде. Интересно было увидеть 2^333

Пожалуйста, авторизуйтесь, чтобы написать комментарий!