#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
To embed this project on your website, copy the following code and paste it into your website's HTML: