/*
#include<stdio.h>
int main()
{
int n,t,k,s=0,c=0;
scanf("%d %d %d",&n,&t,&k);
s=t+k;
if(s>60)
{
c=s/60;
if(n+c>23)
{
printf("%d %d",n+c-24,s%60);
}
else
{
printf("%d %d",n+c,s%60);
}
}
else
{
printf("%d %d",n+c,s);
}
return 0;
}
재귀함수
recursive function
rec(n) : n부터 1까지 출력
n출력 -> n-1부터 1까지 출력
n출력 -> rec(n-1)
#include <stdio.h>
void rec(int n)
{
if(n==0) return ; //종료 조건
rec(n-1); // 재귀 호출
printf("%d\n",n);
}
int main()
{
rec(3);
return 0;
}
#include<stdio.h>
void rec(int n)
{
if(n==0)
return ;
rec(n-1);
printf("%d\n",n);
}
int main()
{
int n;
scanf("%d",&n);
rec(n);
return 0;
}
#include <stdio.h>
void rec(int n)
{
if(n==0)
return ;
printf("%d\n",n);
rec(n-1);
}
int main()
{
int n;
scanf("%d",&n);
rec(n);
return 0;
}
#include<stdio.h>
void rec(int n)
{
if(n==1)
return ;
if(n%2==0)
{
printf("%d\n",n/2);
rec(n/2);
}
else
{
printf("%d\n",3*n+1);
rec(3*n+1);
}
}
int main()
{
int n;
scanf("%d",&n);
printf("%d\n",n);
rec(n);
return 0;
}
#include <stdio.h>
void rec(int n)
{
if(n==1)
return ;
if(n%2==0)
{
rec(n/2);
printf("%d\n",n/2);
}
else
{
rec(3*n+1);
printf("%d\n",3*n+1);
}
}
int main()
{
int n;
scanf("%d",&n);
rec(n);
printf("%d\n",n);
return 0;
}
#include<stdio.h>
void star(int n)
{
if(n==0) return ;
star(n-1);
printf("*");
}
//star(n) : *을 n번 출력하는 함수
void rec(int n)
{
if(n==0) return ;
rec(n-1);
//printf("%d\n",n);//*을 n번 출력해라 + 줄바꿈 출력
star(n);
printf("\n");
}
int main()
{
int n;
scanf("%d",&n);
rec(n);
}
#include<stdio.h>
void rec(int a,int b)
{
if(a>b) return ;
if(a%2==1)
{
printf("%d ",a);
}
rec(a+1,b);
}
int main()
{
int n,a,b;
scanf("%d %d",&a,&b);
rec(a,b);
}
rec(n) : 1부터 n까지의 합
1 ~ n-1 + n
rec(n-1) + n
int rec(int n)
{
if(n==1) return 1;
return rec(n-1)+n;
}
#include<stdio.h>
int rec(int n)
{
if(n==1)
return 1;
return rec(n-1)+n;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",rec(n));
return 0;
}
*/
#include<stdio.h>
int rec(int n)
{
if(n==1) return 1;
return rec(n-1)*n;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",rec(n));
return 0;
}