/*
#include<stdio.h>
typedef struct
{
char a[11];
int b;
int c;
int d;
}momo;
int main()
{
momo arr[101];
int n,i,j,f=0,g=1,h=1;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s",arr[i].a);
scanf("%d %d %d",&arr[i].b,&arr[i].c,&arr[i].d);
}
for(i=0;i<n;i++)
{
if(arr[f].b<arr[i].b)
{
f=i;
}
}
for(i=0;i<n;i++)
{
if(arr[f].c<arr[i].c)
{
g++;
}
if(arr[f].d<arr[i].d)
{
h++;
}
}
printf("%s %d %d",arr[f].a,g,h);
return 0;
}
재귀함수 recursive function
f(n) : *을 n개 출력하세요
for(int i=n;i>=1;i--)
{
printf("%d ",i);
}
rec(n) : n부터 1까지 출력하는 함수
: n부터 1까지 출력
: n출력 -> n-1출력 -> ... 1출력
: n출력 -> n-1부터 1까지 출력
: n출력 -> rec(n-1);
자기 자신으로 다시 정의내린다.
재귀함수 1. 종료조건 2. 재귀호출
#include <stdio.h>
void rec(int n)
{
if(n==0) return ;
printf("%d ",n);
rec(n-1);
}
int main()
{
rec(5);
}
rec(n) : 1부터 n까지 출력
1부터 n-1까지 출력 ->n 출력
rec(n-1) -> n출력
#include <stdio.h>
void rec(int n)
{
if(n==0) return ;
rec(n-1);
printf("%d ",n);
}
int main()
{
rec(5);
}
rec(a,b) : a부터 b까지 출력
a출력 -> a+1부터 b까지 출력
a출력 -> rec(a,b-1)
#include<stdio.h>
void rec(int a,int b)
{
if(b<a) return ;
rec(a,b-1);
if(b%2==1) printf("%d ",b);
}
int main()
{
int a,b;
scanf("%d %d",&a,&b);
rec(a,b);
}
rec(n) : 1부터 n까지의 합 리턴
: 1부터 n-1까지의합 +n 을 리턴
: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));
}
*/
/*
#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));
}
rec(n) n번째 피보나치 수
앞의 두 수를 더하여 나오는 수열
n-1번째 피보나치수 + n-2번째 피보나치수
rec(n-1)+rec(n-2)
첫 번째 수와 두 번째 수는 모두 1이고, 세
rec(1) = 1
rec(2) = 1
:1+1=2 1+2=3 2+3=5 3+5=8
*/
/*
#include<stdio.h>
int rec(int n)
{
if(n==1||n==2) return 1;
return rec(n-1)+rec(n-2);
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",rec(n));
}
*/
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
rce
}



