網頁

2017年11月22日 星期三

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



47 則留言:

  1. #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;
    }

    回覆刪除
  2. #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;
    }

    回覆刪除
  3. #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;
    }

    回覆刪除
  4. #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;
    }

    回覆刪除
  5. #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;
    }

    回覆刪除
  6. #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;
    }

    回覆刪除
  7. #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;
    }

    回覆刪除
  8. #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;
    }

    回覆刪除
  9. #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;
    }

    回覆刪除
  10. #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;
    }

    回覆刪除
  11. #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;
    }

    回覆刪除
  12. b10533011 江道逸2017年11月22日 下午3:41

    #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;
    }

    回覆刪除
  13. b10533007 魏辰熾2017年11月22日 下午3:42

    #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;
    }

    回覆刪除
  14. b10533008 張士晟2017年11月22日 下午3:42

    #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;
    }

    回覆刪除
  15. b10533009 張仲崴2017年11月22日 下午3:42

    #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;
    }

    回覆刪除
  16. #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;
    }

    回覆刪除
  17. b10533018 陳郁傑2017年11月22日 下午3:43

    #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;
    }

    回覆刪除
  18. #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;
    }

    回覆刪除
  19. #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;
    }

    回覆刪除
  20. #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;
    }

    回覆刪除
  21. #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;
    }

    回覆刪除
  22. B10533062 洪尚郁2017年11月22日 下午3:58

    #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;
    }

    回覆刪除
  23. B10533004 李登恩2017年11月22日 下午3:58

    #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;
    }

    回覆刪除
  24. #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;
    }

    回覆刪除
  25. b10533011 江道逸2017年11月29日 下午1:35

    #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;
    }

    回覆刪除
  26. b10533011 江道逸2017年11月29日 下午1:35

    #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;
    }

    回覆刪除
  27. b10533017 古峻衛2017年11月29日 下午1:57

    #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;
    }

    回覆刪除
  28. #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;
    }

    回覆刪除
  29. B10533082 洪承峰2017年11月29日 下午3:05

    #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;
    }

    回覆刪除
  30. B10533082 洪承楓2017年11月29日 下午3:06

    #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;
    }

    回覆刪除
  31. b10533093 許永炎2017年11月29日 下午3:06

    #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;
    }

    回覆刪除
  32. #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;
    }

    回覆刪除
  33. #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;
    }

    回覆刪除
  34. #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;
    }

    回覆刪除
  35. #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;
    }

    回覆刪除
  36. #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;
    }

    回覆刪除
  37. #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;
    }

    回覆刪除
  38. #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;
    }

    回覆刪除
  39. #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;
    }

    回覆刪除
  40. b10433071 雷昕翰2017年12月1日 凌晨2:45

    #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;
    }

    回覆刪除
  41. B10533073黃叡哲2017年12月6日 下午1:32

    #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;
    }

    回覆刪除
  42. B10533072 吳堉瑋2017年12月6日 下午1:36

    #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;
    }

    回覆刪除
  43. 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;
    }

    回覆刪除
  44. b10533075 陳詔瑋2017年12月27日 下午2:54

    #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;
    }

    回覆刪除
  45. b10533029 游淑娥2017年12月27日 下午2:54

    #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;
    }

    回覆刪除
  46. B10433088 葉凱文2018年1月2日 下午3:20

    #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;
    }

    回覆刪除
  47. B10533076姜國傑2018年1月3日 下午2:34

    #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;
    }

    回覆刪除

HTML 編輯器