= 2; --i) { result *= i; } printf("%d", result); } case 2 int factorial(int n) { if (n == 1) { return 1; } return n * factorial(n - 1); } }"> = 2; --i) { result *= i; } printf("%d", result); } case 2 int factorial(int n) { if (n == 1) { return 1; } return n * factorial(n - 1); } }"> = 2; --i) { result *= i; } printf("%d", result); } case 2 int factorial(int n) { if (n == 1) { return 1; } return n * factorial(n - 1); } }">
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
N! = N * (N - 1)! (N >=2)
1! = 1 (N = 1)
case 1
int main(void)
{
int N;
scanf("%d", &N);
int result = 1;
for (int i = N; i >= 2; --i)
{
result *= i;
}
printf("%d", result);
}
case 2
int factorial(int n)
{
if (n == 1)
{
return 1;
}
return n * factorial(n - 1);
}
}
int main(void)
{
int N;
scanf("%d", &N);
printf("%d", factorial(N));
}
10870 피보나치수 5
int pibo(int n)
{
if (n <= 1)
{
return n;
}
return pibo(n - 1) + pibo(n - 2);
}
int main(void)
{
int N;
scanf("%d", &N);
printf("%d", pibo(N));
}
10진수 입력 받아서 재귀로 2진수로 출력
void tenJinsu(int n)
{
if (n == 0)
{
return;
}
int mok = n / 2;
int nmg = n % 2;
tenJinsu(mok);
printf("%d", nmg);
}
// tenJinsu(15) : mok(7), nmg(1)
// tenJinsu(7) : mok(3), nmg(1)
int main(void)
{
int N;
scanf("%d", &N);
tenJinsu(N);
}
재귀함수가 뭔가요?
어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.
"재귀함수가 뭔가요?"
"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.
마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.
그의 답은 대부분 옳았다고 하네.그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어."
void message(int n)
{
if (n >= 1)
{
printf("\\\\"재귀함수가 뭔가요 ?\\\\"\\\\n");
printf("%s \\\\"잘 들어보게.옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.\\\\n", hypen(n));
printf("마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.\\\\n");
printf("그의 답은 대부분 옳았다고 하네.그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어.\\\\"\\\\n");
}
return message(n - 1);
}
int main(void)
{
int N;
scanf("%d", &N);
puts("어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.\\\\n");
message(N);
return 0;
}
void PrintWithTab(int tabCount, const char* str)
{
//tabCount : 2
//str : "라고 답변하였지."
for (int i = 0; i < tabCount; ++i)
printf("**");
puts(str);
//**
}
void DoChatbot(int count)
{
if (count == N)
{
PrintWithTab(count, str[0]);
PrintWithTab(count, "\\"재귀함수는 자기 자신을 호출하는 함수라네\\"");
PrintWithTab(count, "라고 답변하였지.");
return;
}
for (int i = 0; i < 4; ++i)
PrintWithTab(count, str[i]);
DoChatbot(count + 1);
PrintWithTab(count, "라고 답변하였지.");
}