#include <stdio.h>

// 재귀: 함수를 이용해서 for 문을 쓴다 
// 반환 자료형 | 함수 이름 | 괄호하고 | 매개변수 선언
// y = f(x)
// f(x) = x + 1
// y = f(1, 2)
// y 에는 함수의 "반환값" 이 들어감. 
// "반환값" : return 뒤의 어떠한 값 
// int f(int a, int b){
//     printf("%d %d", a, b);
//     return a+b;
// }
// y = f(3 ,4); 
// 3 4 

// 재귀함수: 함수 내부에서 함수를 또 호출하는 함수
// int f(int x){
//     if(x == 0) return 0;
//     return x + f(x-1);
// }
// y = f(5);
// y = 5 + f(4);
// y = 5 + 4 + f(3);
// y = 5 + 4 + 3 + f(2);
// y = 5 + 4 + 3 + 2 + f(1);
// y = 5 + 4+ 3+ 2+ 1+ f(0);
// y = 5 + 4+ 3+ 2+ 1 + 0;
// int main() {
//     printf("Hello world!\n");
//     return 0;
// }
// n=4, k=3


// int bin(int n, int k)
// {
//     if (k == 0 || n == k) {
//         return 1;
//     }
//     else {
//         return bin(n-1, k-1) + bin(n-1, k);
//     }
// }

// bin(3,2) + bin(3, 3)
// bin(2, 1) + bin(2,2) + 1
// bin(2, 1) + 1 + 1
// bin(1, 0) + bin(1,1) + 1 + 1
// 1 + 1 + 1 + 1 4 

// j = 1; // n = 6, n = 8
// while (j <= n/2) {
//     i = 1;
//     while (i <= j) {
//         printf("j = %d, i = %d\n", j, i);
//         i++;
//     }
//     j++;
// }
// j = 1 <= 3 반복, i = 1
//     i = 1 <= j = 1

// j = 1, i = 1 -> i=2
// j = 2, i = 1 -> i=2
// j = 2, i = 2
// j = 3, i = 1
// j = 3, i = 2
// j = 3, i = 3

// j = 1, i = 1
// j = 2, i = 1
// j = 2, i = 2
// j = 3, i = 1
// j = 3, i = 2
// j = 3, i = 3
// j = 4, i = 1
// j = 4, i = 2
// j = 4, i = 3
// j = 4, i = 4


// Matrix Multiplication
void matrixmult(int n, const number A[][], const number B[][], number C[][])
{
    index i, j, k; // n = 2라고 가정

    for(i = 1; i <= n; i++) { // i 행, j 열
        for (j = 1; j <= n; j++) {
            C[i][j] = 0;
            for (k = 1; k <= n; k++) {
                C[i][j] = C[i][j] + A[i][k] * B[k][j];
            }
        }
    }
}

1행 1열
i = 1, j = 1, k = 1
C[1][1] = C[1][1] + A[1][1] * B[1][1] = 0 + 10
i=1, j=1, k=2
C[1][1] = C[1][1] + A[1][2] * B[2][1] = 10 + 18
i = 1, j = 2, k = 1
C[1][2] = C[1][2] + A[1][1] * B[1][2] = 0 + 14
i = 1, j = 2, k = 2
C[1][2] = C[1][2] + A[1][2] * B[2][2] = 14 + 24
i = 2, j = 1, k = 1
C[2][1] = C[2][1] + A[2][1] * B[1][1] = 0 + 20
i = 2, j = 1, k = 2
C[2][1] = C[2][1] + A[2][2] * B[2][1] = 20 + 6
i = 2, j = 2, k = 1
C[2][2] = C[2][2] + A[2][1] * B[1][2] = 0 + 28
i = 2, j = 2, k = 2
C[2][2] = C[2][2] + A[2][2] * B[2][2] = 28 + 8

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: