возведение матрицы в степень алгоритм



Автор Vash the Stampede задал вопрос в разделе Другие языки и технологии

Возведение матрицы в степень (asm) и получил лучший ответ

Ответ от ?????? Зелёный змий ??????[гуру]
На asm будут километры, поэтому на С++
class M
{
public:
M& operator=(M &a)
{
// this = a;
return *this;
}
};

M operator *(M a, M b)
{
M Ret;
// Ret = a * b;
return Ret;
}

M E;

M Power(M A, int n)
{
if (n == 0)
{
return E;
}

if (n & 1)
{
return A * Power(A, n-1);
}

M Ret = Power(A, n/2);
return Ret * Ret;
}

Вот и весь алгоритм. Но кроме Power дополнительно понадобится оператор копирования матрицы и оператор умножения одной матрицы на другую. Сама Power будет простой - проверять n, и в зависимости от результата делать call нужного оператора с нужными параметрами.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Возведение матрицы в степень (asm)
Умножение матриц на Википедии
Посмотрите статью на википедии про Умножение матриц
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*