๐ฉ ์๊ณ ๋ฆฌ์ฆ์ ์ํ ๊ณผ์ ์์ ์๊ธฐ ์์ ์ ์๊ณ ๋ฆฌ์ฆ์ ๋ค์ ์ํํ๋ ํํ
๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ๋ ์ฝ๋๋ ํญ์ ์ฌ๊ทํจ์๋ฅผ ํตํด ๊ตฌํํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ฉฐ, ๊ทธ ๋ฐ๋๋ ๊ฐ๋ฅํ๋ค.
์ฌ๊ท ํจ์๋ฅผ ์์ฑํ ๋๋ ํจ์ ๋ด์์ ๋ค์ ์๊ธฐ ์์ ์ ํธ์ถํ ํ ๊ทธ ํจ์๊ฐ ๋๋ ๋๊น์ง ํจ์ ํธ์ถ ์ดํ์ ๋ช ๋ น๋ฌธ์ด ์ํ๋์ง ์๋๋ค๋ ์ฌ์ค๊ณผ ์ข ๋ฃ์กฐ๊ฑด์ด ๊ผญ ํฌํจ ๋์ด์ผํ๋ค๋ ๋ถ๋ถ์ ์ธ์งํ๊ณ ์์ฑํ๋ฉด ๋ฌดํ๋ฃจํ๋ฅผ ๋ฐฉ์ง ๊ฐ๋ฅ
๐ฉ for, while๋ฌธ ๋ฑ ๋ฐ๋ณต๋ฌธ๊ณผ ๋น๊ตํ๋ฉด ์ฒ๋ฆฌ์ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๊ณ ๋ฉ๋ชจ๋ฆฌ ์๋ชจ๋ฅผ ๋ง์ด ํ๋ค.
์ค๋งํธํ๊ฒ ํ๋ก๊ทธ๋จ์ ์์ฑํ ์ ์์ ๋๋ง ์ฌ์ฉํด์ผ ํ๋ ๊ธฐ๋ฒ
๐ ์1. ์นด์ดํธ๋ค์ด
๐ ์2. ๊ตฌ๊ตฌ๋จ ์ถ๋ ฅ
๐ ์3. ํฉํ ๋ฆฌ์ผ
#include <stdio.h>
int factorial(int n) {
printf("factorial(%d)๊ฐ ํธ์ถ๋์์ต๋๋ค.\n", n);
if (n == 0) {
// 0์ ๊ณ์น์ 1์ด๋ฏ๋ก 1์ ๋ฐํํ์ฌ ์ฌ๊ท ํธ์ถ์ ์ข
๋ฃ
printf("factorial(0)์ด 1์ ๋ฐํํ์ต๋๋ค.\n");
return 1;
}
else {
int retVal = n * factorial(n - 1);
printf("factorial(%d)๊ฐ %d๋ฅผ ๋ฐํํ์ต๋๋ค.\n", n, retVal);
return retVal;
}
}
int main(void) {
int ans;
ans = factorial(5);
printf("%d\n", ans);
return 0;
}
'๐ฉโ๐ป ํ๋ก๊ทธ๋๋ฐ > ๐ ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฒ๋ธ ์ ๋ ฌ(Bubble Sort) (0) | 2024.04.12 |
---|---|
์ ํ ์ ๋ ฌ(Selection Sort) (0) | 2024.04.12 |
๋์ ๊ณํ๋ฒ(dynamic programming) feat. ํผ๋ณด๋์น ์์ด (0) | 2024.03.27 |
๋ถํ ์ ๋ณต ์๊ณ ๋ฆฌ์ฆ (0) | 2024.03.27 |
๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ (ํ์ ์๊ณ ๋ฆฌ์ฆ) (0) | 2024.03.27 |