IPB
ЛогинПароль:

> Общие вопросы по математике.
Altair
сообщение 24.03.2005 18:46
Сообщение #1


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Описание и реализация алгоритмов:


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Altair
сообщение 29.03.2005 11:33
Сообщение #2


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Возведение в степень.
  1. Самый простой способ. Только для положительных чисел и степеней.
    Procedure S(Var p,n,r : Integer);
    Begin
    IF r=0 Then r:=1;
    IF n=0 Then Exit;
    r:=r*p;
    Dec(n);
    S(p,n,r)
    End;

    Var
    a,b,c:Integer;
    Begin
    ReadLn( a, b );
    S( a, b, c );
    WriteLn( c );
    End.

  2. стандартный способ.
    x^a = Exp(a*Ln(x))

  3. Как возвести (-1) в степень N?
    информация от volvo

    Способ x^a = Exp(a*Ln(x)) не подходит, т.к. для вычисления по этой формуле основание степени x должно быть положительным. Используем функцию:

    Function minusOnePower(n: Integer): Integer;
    Begin
    minusOnePower := (1 - 2*Byte(Odd(n)));
    End;
Является ли число степенью двойки?
Function is_power_2(x: Word): Boolean;
Begin
is_power_2 := (x > 0) and ((x and Pred(x)) = 0)
End;


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 14.05.2024 22:15
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"