herrDeng網內搜尋

自訂搜尋

Ads

2017年11月22日 星期三

ex8 C++用矩陣羃次方算出費氏數列f(91)



47 則留言:

B10533088葉俊江 提到...

#include <iostream>
#include <cstdlib>
#include <array>
using namespace std;
typedef array < array < long long, 2>, 2> Matrix;
Matrix operator*(Matrix A, Matrix B)
{
Matrix C;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

void print(Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
cout<<C[i][j] << "\t";
cout << endl;
}
}

Matrix power(Matrix A, int n) {
Matrix D = { {{1,0},{0,1}} };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}

int main()
{
Matrix A = { { {1,1},{1,0}} };
Matrix C = power(A,91);
print(C);
cout << "hello .\n";
system("Pause");
return 0;
}

B10533088葉俊江 提到...

#include <iostream>
#include <cstdlib>
#include <array>
using namespace std;
typedef array < array < long long, 2>, 2> Matrix;
Matrix operator*(Matrix A, Matrix B)
{
Matrix C;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

void print(Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
cout<<C[i][j] << "\t";
cout << endl;
}
}

Matrix power(Matrix A, int n) {
Matrix D = { {{1,0},{0,1}} };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}

int main()
{
Matrix A = { { {1,1},{1,0}} };
Matrix C = power(A,91);
print(C);
cout << "hello .\n";
system("Pause");
return 0;
}

B10433072廖翊翔 提到...

#include <iostream>
#include <cstdlib>
#include <array>
#include <fstream>

using namespace std;
typedef array<array<long long, 2>, 2>Matrix;
Matrix operator*(Matrix A, Matrix B)
{
Matrix C;
for (int i = 0; i<2; i++)
for (int j = 0; j<2; j++) {
C[i][j] = 0;
for (int k = 0; k<2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

ostream& operator<<(ostream& out, Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
out << C[i][j] << "\t";
out << endl;
}

return out;
}

Matrix power(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}


int main()
{
Matrix A = { { { 1,1 },{ 1,0 } } };
Matrix C = power(A, 91);
cout << "費式數列f("<<91<<")="<< C [0][0]<<endl;
system("Pause");
return 0;
}

B10433073何明宗 提到...

#include <iostream>
#include <cstdlib>
#include <array>
#include <fstream>

using namespace std;
typedef array<array<long long, 2>, 2>Matrix;
Matrix operator*(Matrix A, Matrix B)
{
Matrix C;
for (int i = 0; i<2; i++)
for (int j = 0; j<2; j++) {
C[i][j] = 0;
for (int k = 0; k<2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

ostream& operator<<(ostream& out, Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
out << C[i][j] << "\t";
out << endl;
}

return out;
}

Matrix power(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}


int main()
{
Matrix A = { { { 1,1 },{ 1,0 } } };
Matrix C = power(A, 91);
cout << "費式數列f("<<91<<")="<< C [0][0]<<endl;
system("Pause");
return 0;
}

B10433090蔡語鋐 提到...

#include <iostream>
#include <cstdlib>
#include <array>
#include <fstream>

using namespace std;
typedef array<array<long long, 2>, 2>Matrix;
Matrix operator*(Matrix A, Matrix B)
{
Matrix C;
for (int i = 0; i<2; i++)
for (int j = 0; j<2; j++) {
C[i][j] = 0;
for (int k = 0; k<2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

ostream& operator<<(ostream& out, Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
out << C[i][j] << "\t";
out << endl;
}

return out;
}

Matrix power(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}


int main()
{
Matrix A = { { { 1,1 },{ 1,0 } } };
Matrix C = power(A, 91);
cout << "費式數列f("<<91<<")="<< C [0][0]<<endl;
system("Pause");
return 0;
}

B10433081巫明芬 提到...

#include <iostream>
#include <cstdlib>
#include <array>
#include <fstream>

using namespace std;
typedef array<array<long long, 2>, 2>Matrix;
Matrix operator*(Matrix A, Matrix B)
{
Matrix C;
for (int i = 0; i<2; i++)
for (int j = 0; j<2; j++) {
C[i][j] = 0;
for (int k = 0; k<2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

ostream& operator<<(ostream& out, Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
out << C[i][j] << "\t";
out << endl;
}

return out;
}

Matrix power(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}


int main()
{
Matrix A = { { { 1,1 },{ 1,0 } } };
Matrix C = power(A, 91);
cout << "費式數列f("<<91<<")="<< C [0][0]<<endl;
system("Pause");
return 0;
}

B1043394簡筱芸 提到...

#include <iostream>
#include <cstdlib>
#include <array>
#include <fstream>

using namespace std;
typedef array<array<long long, 2>, 2>Matrix;
Matrix operator*(Matrix A, Matrix B)
{
Matrix C;
for (int i = 0; i<2; i++)
for (int j = 0; j<2; j++) {
C[i][j] = 0;
for (int k = 0; k<2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

ostream& operator<<(ostream& out, Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
out << C[i][j] << "\t";
out << endl;
}

return out;
}

Matrix power(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}


int main()
{
Matrix A = { { { 1,1 },{ 1,0 } } };
Matrix C = power(A, 91);
cout << "費式數列f("<<91<<")="<< C [0][0]<<endl;
system("Pause");
return 0;
}

B10433094簡筱芸 提到...

#include <iostream>
#include <cstdlib>
#include <array>
#include <fstream>

using namespace std;
typedef array<array<long long, 2>, 2>Matrix;
Matrix operator*(Matrix A, Matrix B)
{
Matrix C;
for (int i = 0; i<2; i++)
for (int j = 0; j<2; j++) {
C[i][j] = 0;
for (int k = 0; k<2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

ostream& operator<<(ostream& out, Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
out << C[i][j] << "\t";
out << endl;
}

return out;
}

Matrix power(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}


int main()
{
Matrix A = { { { 1,1 },{ 1,0 } } };
Matrix C = power(A, 91);
cout << "費式數列f("<<91<<")="<< C [0][0]<<endl;
system("Pause");
return 0;
}

B10433099駱婉婷 提到...

#include <iostream>
#include <cstdlib>
#include <array>
#include <fstream>

using namespace std;
typedef array<array<long long, 2>, 2>Matrix;
Matrix operator*(Matrix A, Matrix B)
{
Matrix C;
for (int i = 0; i<2; i++)
for (int j = 0; j<2; j++) {
C[i][j] = 0;
for (int k = 0; k<2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

ostream& operator<<(ostream& out, Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
out << C[i][j] << "\t";
out << endl;
}

return out;
}

Matrix power(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}


int main()
{
Matrix A = { { { 1,1 },{ 1,0 } } };
Matrix C = power(A, 91);
cout << "費式數列f("<<91<<")="<< C [0][0]<<endl;
system("Pause");
return 0;
}

B10533132許敏茹 提到...

#include <iostream>
#include <cstdlib>
#include <array>
using namespace std;
typedef array < array < long long, 2>, 2> Matrix;
Matrix operator*(Matrix A, Matrix B)
{
Matrix C;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

void print(Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
cout<<C[i][j] << "\t";
cout << endl;
}
}

Matrix power(Matrix A, int n) {
Matrix D = { {{1,0},{0,1}} };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}

int main()
{
Matrix A = { { {1,1},{1,0}} };
Matrix C = power(A,91);
print(C);
cout << "hello .\n";
system("Pause");
return 0;
}

B10433106簡瑋佑 提到...

#include <iostream>
#include <cstdlib>
#include <array>
#include <fstream>

using namespace std;
typedef array<array<long long, 2>, 2>Matrix;
Matrix operator*(Matrix A, Matrix B)
{
Matrix C;
for (int i = 0; i<2; i++)
for (int j = 0; j<2; j++) {
C[i][j] = 0;
for (int k = 0; k<2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

ostream& operator<<(ostream& out, Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
out << C[i][j] << "\t";
out << endl;
}

return out;
}

Matrix power(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}


int main()
{
Matrix A = { { { 1,1 },{ 1,0 } } };
Matrix C = power(A, 91);
cout << "費式數列f("<<91<<")="<< C [0][0]<<endl;
system("Pause");
return 0;
}

b10533011 江道逸 提到...

#include <iostream>
#include <cstdlib>
#include <array>
using namespace std;
typedef array < array< long long, 2>, 2 > Matrix;
Matrix operator*(Matrix A,Matrix B)
{
Matrix C;
for (int i =0;i<2;i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}
void print(Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
cout << C[i][j] << "\t";
cout << endl;
}
}

Matrix power(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };
for (int i = 0; i < 2; n++)
D = D *A;
return D;
}


int main()
{
Matrix A = { { { 1,1 },{ 1,0 } } };
Matrix C = power(A, 91);
print(C);
cout << "費氏數列f(" << 91 << ")=" << C[0][0] << endl;
system("Pause");
return 0;
}

b10533007 魏辰熾 提到...

#include <iostream>
#include <cstdlib>
#include <array>
using namespace std;
typedef array < array< long long, 2>, 2 > Matrix;
Matrix operator*(Matrix A,Matrix B)
{
Matrix C;
for (int i =0;i<2;i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}
void print(Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
cout << C[i][j] << "\t";
cout << endl;
}
}

Matrix power(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };
for (int i = 0; i < 2; n++)
D = D *A;
return D;
}


int main()
{
Matrix A = { { { 1,1 },{ 1,0 } } };
Matrix C = power(A, 91);
print(C);
cout << "費氏數列f(" << 91 << ")=" << C[0][0] << endl;
system("Pause");
return 0;
}

b10533008 張士晟 提到...

#include <iostream>
#include <cstdlib>
#include <array>
using namespace std;
typedef array < array< long long, 2>, 2 > Matrix;
Matrix operator*(Matrix A,Matrix B)
{
Matrix C;
for (int i =0;i<2;i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}
void print(Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
cout << C[i][j] << "\t";
cout << endl;
}
}

Matrix power(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };
for (int i = 0; i < 2; n++)
D = D *A;
return D;
}


int main()
{
Matrix A = { { { 1,1 },{ 1,0 } } };
Matrix C = power(A, 91);
print(C);
cout << "費氏數列f(" << 91 << ")=" << C[0][0] << endl;
system("Pause");
return 0;
}

b10533009 張仲崴 提到...

#include <iostream>
#include <cstdlib>
#include <array>
using namespace std;
typedef array < array< long long, 2>, 2 > Matrix;
Matrix operator*(Matrix A,Matrix B)
{
Matrix C;
for (int i =0;i<2;i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}
void print(Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
cout << C[i][j] << "\t";
cout << endl;
}
}

Matrix power(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };
for (int i = 0; i < 2; n++)
D = D *A;
return D;
}


int main()
{
Matrix A = { { { 1,1 },{ 1,0 } } };
Matrix C = power(A, 91);
print(C);
cout << "費氏數列f(" << 91 << ")=" << C[0][0] << endl;
system("Pause");
return 0;
}

B10433107袁婕寧 提到...

#include <iostream>
#include <cstdlib>
#include <array>
#include <fstream>

using namespace std;
typedef array<array<long long, 2>, 2>Matrix;
Matrix operator*(Matrix A, Matrix B)
{
Matrix C;
for (int i = 0; i<2; i++)
for (int j = 0; j<2; j++) {
C[i][j] = 0;
for (int k = 0; k<2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

ostream& operator<<(ostream& out, Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
out << C[i][j] << "\t";
out << endl;
}

return out;
}

Matrix power(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}


int main()
{
Matrix A = { { { 1,1 },{ 1,0 } } };
Matrix C = power(A, 91);
cout << "費式數列f("<<91<<")="<< C [0][0]<<endl;
system("Pause");
return 0;
}

b10533018 陳郁傑 提到...

#include <iostream>
#include <cstdlib>
#include <array>
using namespace std;
typedef array < array< long long, 2>, 2 > Matrix;
Matrix operator*(Matrix A,Matrix B)
{
Matrix C;
for (int i =0;i<2;i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}
void print(Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
cout << C[i][j] << "\t";
cout << endl;
}
}

Matrix power(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };
for (int i = 0; i < 2; n++)
D = D *A;
return D;
}


int main()
{
Matrix A = { { { 1,1 },{ 1,0 } } };
Matrix C = power(A, 91);
print(C);
cout << "費氏數列f(" << 91 << ")=" << C[0][0] << endl;
system("Pause");
return 0;
}

B10433065劉勝威 提到...

#include<iostream>
#include<cstdlib>
#include<array>
using namespace std;
using Matrix_2X2=array<array <long long, 2>, 2 > ; //將陣列包裝成物件
Matrix_2X2 operator*(Matrix_2X2 A, Matrix_2X2 B)
{
Matrix_2X2 C;
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++) {
C[i][j] += A[i][k] * B[k][j];
}
}
}return C;
}
void print(Matrix_2X2 C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
cout << C[i][j] << "\t";
}cout << endl;
}
}
Matrix_2X2 Matrix_pow(Matrix_2X2 A, int n) {
Matrix_2X2 D = { {{1,0},{0,1}} };
for (int i = 1; i <= 91; i++) {
D = D*A;
}return D;
}
int main() {
Matrix_2X2 A = { { { 1,1 }
,{ 1,0 } } };
Matrix_2X2 C = Matrix_pow(A, 91);

print(C);
cout <<"\n矩陣A的91次方= " <<C[0][0]<<endl;
system("PAUSE");
return 0;
}

B10433065劉勝威 提到...

#include<iostream>
#include<cstdlib>
#include<array>
using namespace std;
using Matrix_2X2=array<array <long long, 2>, 2 > ; //將陣列包裝成物件
Matrix_2X2 operator*(Matrix_2X2 A, Matrix_2X2 B)
{
Matrix_2X2 C;
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++) {
C[i][j] += A[i][k] * B[k][j];
}
}
}return C;
}
void print(Matrix_2X2 C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
cout << C[i][j] << "\t";
}cout << endl;
}
}
Matrix_2X2 Matrix_pow(Matrix_2X2 A, int n) {
Matrix_2X2 D = { {{1,0},{0,1}} };
for (int i = 1; i <= 91; i++) {
D = D*A;
}return D;
}
int main() {
Matrix_2X2 A = { { { 1,1 }
,{ 1,0 } } };
Matrix_2X2 C = Matrix_pow(A, 91);

print(C);
cout <<"\n矩陣A的91次方= " <<C[0][0]<<endl;
system("PAUSE");
return 0;
}

B10533010蕭凱維 提到...

#include
#include
#include
#include
using namespace std;
typedef array , 2>Matrix;
Matrix operator*(Matrix A,Matrix B)
{
Matrix C;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++){
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

void print(Matrix C){
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
cout << C[i][j] << "\t";
cout << endl;
}
}

Matrix power(Matrix A, int n){
Matrix D = { {{1,0},{0,1}} };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}

Matrix operator^(Matrix A, int n) {
Matrix D = { {{1,0},{0,1}} };
bitset<8> b(n);
for (int i = 7; i >= 0; i--) {
D = D*D;
if (b[i])D = D*A;
}
return D;
}

int main()
{
Matrix A = { {{1,1},{1.0}} };
Matrix C = power(A, 91);
print(C);
cout << "費氏數列f(" << 91 << ")=" << C[0][0] << endl;
Matrix C = power(A, 91);
print(C);
cout << "費氏數列f(" << 91 << ")=" << C[0][0] << endl;
Matrix C = power(A, 91);
system("Pause");
return 0;
}

B10433065劉勝威 提到...

#include<iostream>
#include<cstdlib>
#include<array>
#include<bitset>
using namespace std;
using Matrix_2X2=array<array <long long, 2>, 2 > ; //將陣列包裝成物件
Matrix_2X2 operator*(Matrix_2X2 A, Matrix_2X2 B)
{
Matrix_2X2 C;
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++) {
C[i][j] += A[i][k] * B[k][j];
}
}
}return C;
}
void print(Matrix_2X2 C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
cout << C[i][j] << "\t";
}cout << endl;
}
}
Matrix_2X2 Matrix_pow(Matrix_2X2 A, int n) {
Matrix_2X2 D = { {{1,0},{0,1}} };
for (int i = 1; i <= 91; i++) {
D = D*A;
}return D;
}
Matrix_2X2 operator^(Matrix_2X2 A, int n) {
Matrix_2X2 D = { { { 1,0 },{ 0,1 } } };
bitset<8> b(n);
for (int i = 7; i >= 0; i--) {
D = D*D;
if (b[i] == 1)D = D*A;
}return D;
}
int main() {
Matrix_2X2 A = { { { 1,1 }
,{ 1,0 } } };
Matrix_2X2 C = Matrix_pow(A, 91);
print(C);
cout <<"\n矩陣A的91次方C[0][0] = " <<C[0][0]<<endl;
cout << "--------------------------\n";
cout << "<bitset>轉2次元作次方運算";
C = A ^ 91;
cout << "\n<bitset>矩陣A的91次方= " << C[0][0] << endl;
system("PAUSE");
return 0;
}

B10533062 洪尚郁 提到...

#include<iostream>
#include<cstdlib>
#include<array>
#include<bitset>

using namespace std;

typedef array<array<long long, 2>, 2>Matrix;



Matrix operator * (Matrix A, Matrix B) {
Matrix C;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

void print(Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
cout << C[i][j] << "\t";
cout << endl;
}
}
}

Matrix power(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };

for (int i = 1; i <= n; i++) {
D = D * A;
return D;
}
}

Matrix operator^(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };
bitset<8> b(n);
for (int i = 7; i >= 0; i--) {
D = D*D;
if (b[i])D = D * A;

}
return D;
}

int main() {
Matrix A = { { { 1,1 },{ 1,0 } } };
Matrix C = power(A, 91);
print(C);
cout << "費氏數列F(" << 91 << ")=" << C[0][0] << endl;
bitset<8> B(91);
cout << B << endl;
Matrix D = A ^ 91;
print(D);
cout << "費氏數列F(" << 91 << ")=" << D[0][0] << endl;
system("pause");
return 0;
}

B10533004 李登恩 提到...

#include<iostream>
#include<cstdlib>
#include<array>
#include<bitset>

using namespace std;

typedef array<array<long long, 2>, 2>Matrix;



Matrix operator * (Matrix A, Matrix B) {
Matrix C;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

void print(Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
cout << C[i][j] << "\t";
cout << endl;
}
}
}

Matrix power(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };

for (int i = 1; i <= n; i++) {
D = D * A;
return D;
}
}

Matrix operator^(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };
bitset<8> b(n);
for (int i = 7; i >= 0; i--) {
D = D*D;
if (b[i])D = D * A;

}
return D;
}

int main() {
Matrix A = { { { 1,1 },{ 1,0 } } };
Matrix C = power(A, 91);
print(C);
cout << "費氏數列F(" << 91 << ")=" << C[0][0] << endl;
bitset<8> B(91);
cout << B << endl;
Matrix D = A ^ 91;
print(D);
cout << "費氏數列F(" << 91 << ")=" << D[0][0] << endl;
system("pause");
return 0;
}

B10537208楊蕊筑 提到...

#include <iostream>
#include <cstdlib>
#include <array>
using namespace std;
typedef array < array < long long, 2>, 2> Matrix;
Matrix operator*(Matrix A, Matrix 😎
{
Matrix C;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

void print(Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
cout<<C[i][j] << "\t";
cout << endl;
}
}

Matrix power(Matrix A, int n) {
Matrix D = { {{1,0},{0,1}} };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}

int main()
{
Matrix A = { { {1,1},{1,0}} };
Matrix C = power(A,91);
print(C);
cout << "hello .\n";
system("Pause");
return 0;
}

b10533011 江道逸 提到...

#include <iostream>
#include <cstdlib>
#include <array>
#include <fstream>

using namespace std;
typedef array<array<long long, 2>, 2>Matrix;
Matrix operator*(Matrix A, Matrix B)
{
Matrix C;
for (int i = 0; i<2; i++)
for (int j = 0; j<2; j++) {
C[i][j] = 0;
for (int k = 0; k<2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

ostream& operator<<(ostream& out, Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
out << C[i][j] << "\t";
out << endl;
}

return out;
}

Matrix power(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}


int main()
{
Matrix A = { { { 1,1 },{ 1,0 } } };
Matrix C = power(A, 91);
cout << "費式數列f("<<91<<")="<< C [0][0]<<endl;
system("Pause");
return 0;
}

b10533011 江道逸 提到...

#include <iostream>
#include <cstdlib>
#include <array>
#include <fstream>

using namespace std;
typedef array<array<long long, 2>, 2>Matrix;
Matrix operator*(Matrix A, Matrix B)
{
Matrix C;
for (int i = 0; i<2; i++)
for (int j = 0; j<2; j++) {
C[i][j] = 0;
for (int k = 0; k<2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

ostream& operator<<(ostream& out, Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
out << C[i][j] << "\t";
out << endl;
}

return out;
}

Matrix power(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}


int main()
{
Matrix A = { { { 1,1 },{ 1,0 } } };
Matrix C = power(A, 91);
cout << "費式數列f("<<91<<")="<< C [0][0]<<endl;
system("Pause");
return 0;
}

b10533017 古峻衛 提到...

#include
#include
#include
using namespace std;
typedef array < array< long long, 2>, 2 > Matrix;
Matrix operator*(Matrix A,Matrix B)
{
Matrix C;
for (int i =0;i<2;i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}
void print(Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
cout << C[i][j] << "\t";
cout << endl;
}
}

Matrix power(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };
for (int i = 0; i < 2; n++)
D = D *A;
return D;
}


int main()
{
Matrix A = { { { 1,1 },{ 1,0 } } };
Matrix C = power(A, 91);
print(C);
cout << "費氏數列f(" << 91 << ")=" << C[0][0] << endl;
system("Pause");
return 0;
}

B10533015陳建志 提到...

#include <iostream>
#include <cstdlib>
#include <string>
#include <fstream>
#include <omp.h>
#include<array>
using namespace std;
using Matrix_2x2 = array<array<int,2>,2>;
Matrix_2x2 matrixMul( Matrix_2x2 A, Matrix_2x2 B) {
Matrix_2x2 C;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0 ; k < 2 ; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}
void print(Matrix_2x2 C)
{
cout << C[0][0] << "\t" << C[0][1] << endl;
cout << C[1][0] << "\t" << C[1][1] << endl;
cout << "==================================\n";
}
int main()
{
Matrix_2x2 A = { { {1,2},{3,4}} };
Matrix_2x2 B = {{ {1,2},{3,4} }};
Matrix_2x2 C=matrixMul(A,B);
print(C);
cout << "矩陣函數\n";
system("Pause");
return 0;
}

B10533082 洪承峰 提到...

#include
#include
#include
#include

using namespace std;

typedef array, 2>Matrix;



Matrix operator * (Matrix A, Matrix B) {
Matrix C;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

void print(Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
cout << C[i][j] << "\t";
cout << endl;
}
}
}

Matrix power(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };

for (int i = 1; i <= n; i++) {
D = D * A;
return D;
}
}

Matrix operator^(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };
bitset<8> b(n);
for (int i = 7; i >= 0; i--) {
D = D*D;
if (b[i])D = D * A;

}
return D;
}

int main() {
Matrix A = { { { 1,1 },{ 1,0 } } };
Matrix C = power(A, 91);
print(C);
cout << "費氏數列F(" << 91 << ")=" << C[0][0] << endl;
bitset<8> B(91);
cout << B << endl;
Matrix D = A ^ 91;
print(D);
cout << "費氏數列F(" << 91 << ")=" << D[0][0] << endl;
system("pause");
return 0;
}

B10533082 洪承楓 提到...

#include
#include
#include
#include

using namespace std;

typedef array, 2>Matrix;



Matrix operator * (Matrix A, Matrix B) {
Matrix C;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

void print(Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
cout << C[i][j] << "\t";
cout << endl;
}
}
}

Matrix power(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };

for (int i = 1; i <= n; i++) {
D = D * A;
return D;
}
}

Matrix operator^(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };
bitset<8> b(n);
for (int i = 7; i >= 0; i--) {
D = D*D;
if (b[i])D = D * A;

}
return D;
}

int main() {
Matrix A = { { { 1,1 },{ 1,0 } } };
Matrix C = power(A, 91);
print(C);
cout << "費氏數列F(" << 91 << ")=" << C[0][0] << endl;
bitset<8> B(91);
cout << B << endl;
Matrix D = A ^ 91;
print(D);
cout << "費氏數列F(" << 91 << ")=" << D[0][0] << endl;
system("pause");
return 0;
}

b10533093 許永炎 提到...

#include
#include
#include
#include

using namespace std;

typedef array, 2>Matrix;



Matrix operator * (Matrix A, Matrix B) {
Matrix C;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

void print(Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
cout << C[i][j] << "\t";
cout << endl;
}
}
}

Matrix power(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };

for (int i = 1; i <= n; i++) {
D = D * A;
return D;
}
}

Matrix operator^(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };
bitset<8> b(n);
for (int i = 7; i >= 0; i--) {
D = D*D;
if (b[i])D = D * A;

}
return D;
}

int main() {
Matrix A = { { { 1,1 },{ 1,0 } } };
Matrix C = power(A, 91);
print(C);
cout << "費氏數列F(" << 91 << ")=" << C[0][0] << endl;
bitset<8> B(91);
cout << B << endl;
Matrix D = A ^ 91;
print(D);
cout << "費氏數列F(" << 91 << ")=" << D[0][0] << endl;
system("pause");
return 0;
}

B10533029游淑娥 提到...

#include <iostream>
#include <cstdlib>

using namespace std;

void matrixMul(int C[2][2], int A[2][2], int B[2][2]) {
for (int i=0; i<2 ; i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][j] * B[k][j];
}
}

void print(int C[2][2]) {
cout << C[0][0] << "\t" << C[0][1] << endl;
cout << C[1][0] << "\t" << C[1][1] << endl;
cout << "================================\n";
}

int main() {
int A[2][2] = { {1,2},{3,4} };
int B[2][2] = { { 1,2 },{ 3,4 } };
int C[2][2];
matrixMul(C, A, B);
print(C);
cout << "矩陣乘法\n";
system("Pause");
return 0;
}

B10533064蔡佩芸 提到...

#include <iostream>
#include <cstdlib>

using namespace std;

void matrixMul(int C[2][2], int A[2][2], int B[2][2]) {
for (int i=0; i<2 ; i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][j] * B[k][j];
}
}

void print(int C[2][2]) {
cout << C[0][0] << "\t" << C[0][1] << endl;
cout << C[1][0] << "\t" << C[1][1] << endl;
cout << "================================\n";
}

int main() {
int A[2][2] = { {1,2},{3,4} };
int B[2][2] = { { 1,2 },{ 3,4 } };
int C[2][2];
matrixMul(C, A, B);
print(C);
cout << "矩陣乘法\n";
system("Pause");
return 0;
}

B10533037張俊為 提到...

#include
#include
#include
using namespace std;
typedef array < array < long long, 2>, 2> Matrix;
Matrix operator*(Matrix A, Matrix 😎
{
Matrix C;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

void print(Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
cout<<C[i][j] << "\t";
cout << endl;
}
}

Matrix power(Matrix A, int n) {
Matrix D = { {{1,0},{0,1}} };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}

int main()
{
Matrix A = { { {1,1},{1,0}} };
Matrix C = power(A,91);
print(C);
cout << "hello .\n";
system("Pause");
return 0;
}

B10533018葉佳倫 提到...

#include
#include
#include
using namespace std;
typedef array < array < long long, 2>, 2> Matrix;
Matrix operator*(Matrix A, Matrix 😎
{
Matrix C;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

void print(Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
cout<<C[i][j] << "\t";
cout << endl;
}
}

Matrix power(Matrix A, int n) {
Matrix D = { {{1,0},{0,1}} };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}

int main()
{
Matrix A = { { {1,1},{1,0}} };
Matrix C = power(A,91);
print(C);
cout << "hello .\n";
system("Pause");
return 0;
}

b10533032程泓瑋 提到...

#include
#include
#include
using namespace std;
typedef array < array < long long, 2>, 2> Matrix;
Matrix operator*(Matrix A, Matrix 😎
{
Matrix C;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

void print(Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
cout<<C[i][j] << "\t";
cout << endl;
}
}

Matrix power(Matrix A, int n) {
Matrix D = { {{1,0},{0,1}} };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}

int main()
{
Matrix A = { { {1,1},{1,0}} };
Matrix C = power(A,91);
print(C);
cout << "hello .\n";
system("Pause");
return 0;
}

b10514033盧昱仁 提到...

#include
#include
#include
using namespace std;
typedef array < array < long long, 2>, 2> Matrix;
Matrix operator*(Matrix A, Matrix 😎
{
Matrix C;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

void print(Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
cout<<C[i][j] << "\t";
cout << endl;
}
}

Matrix power(Matrix A, int n) {
Matrix D = { {{1,0},{0,1}} };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}

int main()
{
Matrix A = { { {1,1},{1,0}} };
Matrix C = power(A,91);
print(C);
cout << "hello .\n";
system("Pause");
return 0;
}

B10533031沈宏儒 提到...

#include
#include
#include
using namespace std;
typedef array < array < long long, 2>, 2> Matrix;
Matrix operator*(Matrix A, Matrix 😎
{
Matrix C;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

void print(Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
cout<<C[i][j] << "\t";
cout << endl;
}
}

Matrix power(Matrix A, int n) {
Matrix D = { {{1,0},{0,1}} };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}

int main()
{
Matrix A = { { {1,1},{1,0}} };
Matrix C = power(A,91);
print(C);
cout << "hello .\n";
system("Pause");
return 0;
}

B10533038楊尹玄 提到...

#include
#include
#include
using namespace std;
typedef array < array < long long, 2>, 2> Matrix;
Matrix operator*(Matrix A, Matrix 😎
{
Matrix C;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

void print(Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
cout<<C[i][j] << "\t";
cout << endl;
}
}

Matrix power(Matrix A, int n) {
Matrix D = { {{1,0},{0,1}} };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}

int main()
{
Matrix A = { { {1,1},{1,0}} };
Matrix C = power(A,91);
print(C);
cout << "hello .\n";
system("Pause");
return 0;
}

b10433071 雷昕翰 提到...

#include
#include
#include
#include

using namespace std;
typedef array, 2>Matrix;
Matrix operator*(Matrix A, Matrix B)
{
Matrix C;
for (int i = 0; i<2; i++)
for (int j = 0; j<2; j++) {
C[i][j] = 0;
for (int k = 0; k<2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

ostream& operator<<(ostream& out, Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
out << C[i][j] << "\t";
out << endl;
}

return out;
}

Matrix power(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}


int main()
{
Matrix A = { { { 1,1 },{ 1,0 } } };
Matrix C = power(A, 91);
cout << "費式數列f("<<91<<")="<< C [0][0]<<endl;
system("Pause");
return 0;
}

B10533073黃叡哲 提到...

#include
#include
#include
#include

using namespace std;
typedef array, 2>Matrix;
Matrix operator*(Matrix A, Matrix B)
{
Matrix C;
for (int i = 0; i<2; i++)
for (int j = 0; j<2; j++) {
C[i][j] = 0;
for (int k = 0; k<2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

ostream& operator<<(ostream& out, Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
out << C[i][j] << "\t";
out << endl;
}

return out;
}

Matrix power(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}


int main()
{
Matrix A = { { { 1,1 },{ 1,0 } } };
Matrix C = power(A, 91);
cout << "費式數列f("<<91<<")="<< C [0][0]<<endl;
system("Pause");
return 0;
}

B10533072 吳堉瑋 提到...

#include
#include
#include
using namespace std;
typedef array < array < long long, 2>, 2> Matrix;
Matrix operator*(Matrix A, Matrix B)
{
Matrix C;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

void print(Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
cout<<C[i][j] << "\t";
cout << endl;
}
}

Matrix power(Matrix A, int n) {
Matrix D = { {{1,0},{0,1}} };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}

int main()
{
Matrix A = { { {1,1},{1,0}} };
Matrix C = power(A,91);
print(C);
cout << "hello .\n";
system("Pause");
return 0;
}

匿名 提到...

B10533066曾楷杰 提到...
#include
#include
#include
using namespace std;
typedef array < array < long long, 2>, 2> Matrix;
Matrix operator*(Matrix A, Matrix 😎
{
Matrix C;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

void print(Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
cout<<C[i][j] << "\t";
cout << endl;
}
}

Matrix power(Matrix A, int n) {
Matrix D = { {{1,0},{0,1}} };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}

int main()
{
Matrix A = { { {1,1},{1,0}} };
Matrix C = power(A,91);
print(C);
cout << "hello .\n";
system("Pause");
return 0;
}

b10533075 陳詔瑋 提到...

#include
#include
#include
using namespace std;
typedef array < array < long long, 2>, 2> Matrix;
Matrix operator*(Matrix A, Matrix B)
{
Matrix C;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

void print(Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
cout<<C[i][j] << "\t";
cout << endl;
}
}

Matrix power(Matrix A, int n) {
Matrix D = { {{1,0},{0,1}} };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}

int main()
{
Matrix A = { { {1,1},{1,0}} };
Matrix C = power(A,91);
print(C);
cout << "hello .\n";
system("Pause");
return 0;
}

b10533029 游淑娥 提到...

#include
#include
#include
using namespace std;
typedef array < array < long long, 2>, 2> Matrix;
Matrix operator*(Matrix A, Matrix B)
{
Matrix C;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

void print(Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
cout<<C[i][j] << "\t";
cout << endl;
}
}

Matrix power(Matrix A, int n) {
Matrix D = { {{1,0},{0,1}} };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}

int main()
{
Matrix A = { { {1,1},{1,0}} };
Matrix C = power(A,91);
print(C);
cout << "hello .\n";
system("Pause");
return 0;
}

B10433088 葉凱文 提到...

#include
#include
#include
#include

using namespace std;
typedef array, 2>Matrix;
Matrix operator*(Matrix A, Matrix B)
{
Matrix C;
for (int i = 0; i<2; i++)
for (int j = 0; j<2; j++) {
C[i][j] = 0;
for (int k = 0; k<2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

ostream& operator<<(ostream& out, Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
out << C[i][j] << "\t";
out << endl;
}

return out;
}

Matrix power(Matrix A, int n) {
Matrix D = { { { 1,0 },{ 0,1 } } };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}


int main()
{
Matrix A = { { { 1,1 },{ 1,0 } } };
Matrix C = power(A, 91);
cout << "費式數列f("<<91<<")="<< C [0][0]<<endl;
system("Pause");
return 0;
}

B10533076姜國傑 提到...

#include
#include
#include
using namespace std;
typedef array < array < long long, 2>, 2> Matrix;
Matrix operator*(Matrix A, Matrix B)
{
Matrix C;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++) {
C[i][j] = 0;
for (int k = 0; k < 2; k++)
C[i][j] += A[i][k] * B[k][j];
}
return C;
}

void print(Matrix C) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++)
cout<<C[i][j] << "\t";
cout << endl;
}
}

Matrix power(Matrix A, int n) {
Matrix D = { {{1,0},{0,1}} };
for (int i = 1; i <= n; i++)
D = D*A;
return D;
}

int main()
{
Matrix A = { { {1,1},{1,0}} };
Matrix C = power(A,91);
print(C);
cout << "hello .\n";
system("Pause");
return 0;
}

Related Posts Plugin for WordPress, Blogger...

熱門文章