/*
#include <stdio.h>
int n, d[110];
int f()
{
int i,max=0,s;
for (i=0;i<n;i++)
{
if (d[i]>max)
{
max=d[i];
s=i;
}
}
return s+1;
}
int main()
{
scanf("%d", &n);
for(int i=0; i<n; i++)
scanf("%d", &d[i]);
printf("%d", f());
return 0;
}
*/
/*
#include <stdio.h>
int n, d[100010], k;
int f(int a)
{
int i,r;
for (i=1;i<=n;i++)
{
if (d[i]==k)
{
r=i;
break;
}
}
if (d[r]!=k)
{
return -1;
}
else
{
return r;
}
}
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++)
scanf("%d", &d[i]);
scanf("%d", &k);
printf("%d\n", f(k));
}
*/
/*
#include <stdio.h>
long long int n;
long long int f(long long int a)
{
long long int i,d,k=0;
for (d=a;d!=0;d/=10)
{
k=k*10+d%10;
}
if (k<=0)
{
k=a;
}
return k;
}
int main()
{
scanf("%lld", &n);
printf("%lld\n", f(n));
}
*/
/*
#include <stdio.h>
int a, b;
int gcd(int n,int m)
{
int i,max;
for (i=1;i<=(n>m?n:m);i++)
{
if (m%i==0&&n%i==0)
{
max=i;
}
}
return max;
}
int main()
{
scanf("%d%d", &a, &b);
printf("%d\n", gcd(a, b));
}
*/
/*
#include <stdio.h>
int n, k, d[1010];
int lower_bound(int a)
{
int i,e=0;
for (i=1;i<=n;i++)
{
if (a<=d[i])
{
e=i;
break;
}
}
if (e==0)
{
return n+1;
}
else
{
return e;
}
}
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++)
scanf("%d", &d[i]);
scanf("%d", &k);
printf("%d\n", lower_bound(k));
}
*/
/*
#include <stdio.h>
int g(int n)
{
int i,sum=0;
for (i=1;i<=n;i*=10)
{
sum+=n/i%10;
}
return sum;
}
int main()
{
int n;
scanf("%d", &n);
while (n>=10)
{
n=g(n);
}
printf("%d", n);
return 0;
}
재귀 함수 :
recursive fucntion
re 리 (다시)
curve 커브(돌다)
재 -> 다시
귀 -> 돌아온다
특징
1. 코드가 간단하다(짧다)
2. 이해는되는데 뭔소린지잘모르겠어
정의
1. 함수 내에서 자신을 다시 호출하는 함수
2. 자신으로 다시 정의내리는 함수
*/
/*
#include <stdio.h>
void f(int n)
{
f(n-1); // 재귀호출 (자신을 다시 호출)
}
int main()
{
f(5); // f함수를 호출
return 0;
}
*/
/*
재귀함수 식으로 생각하기
f(n) : n ~ 1 출력
: n출려 ㄱ-> n-1출력 -> .... 1출력
: n출력 -> n-1 ~ 1출력
: n출력 -> f( n-1 );
*/
/*
#include <stdio.h>
void f(int n)
{
if(n==0) return ;
printf("%d ",n);
f(n-1);
}
int main()
{
f(5); // f함수를 호출
return 0;
}
// f(n): n ~ 1 출력 (완료)
// f(n) : 1 ~ n 출력
*/
/*
#include <stdio.h>
int a=1;
void f(int n)
{
if (n==0)
{
return;
}
printf("%d\n", a);
a++;
n--;
f(n);
}
int main()
{
int n;
scanf("%d", &n);
f(n);
return 0;
}
*/
/*
#include <stdio.h>
void f(int n)
{
if (n==0)
{
return;
}
printf("%d\n", n);
f(n-1);
}
int main()
{
int n;
scanf("%d", &n);
f(n);
return 0;
}
f(a,b) : a~ b출력
*/
/*
#include <stdio.h>
void f(int n,int m)
{
if (n>m)
{
return;
}
if (n%2==1)
{
printf("%d ", n);
}
f(n+1, m);
}
int main()
{
int a;
int x;
scanf("%d %d", &a, &x);
f(a,x);
return 0;
}
*/
/*
#include <stdio.h>
void f(int n,int sum)
{
if (n==0)
{
printf("%d", sum);
return;
}
sum+=n;
n--;
f(n, sum);
}
int main()
{
int n,s=0;
scanf("%d", &n);
f(n,s);
return 0;
}
*/
/*
#include <stdio.h>
void f(int n, int sum)
{
if (n==1)
{
printf("%d", sum);
return;
}
sum*=n-1;
n--;
f(n, sum);
}
int main()
{
int n,s;
scanf("%d", &n);
s=n;
f(n,s);
return 0;
}
*/
/*
#include <stdio.h>
int f(int n)
{
if (n==1)
{
return 1;
}
return n * f(n-1);
}
int main()
{
int n;
scanf("%d", &n);
printf("%d", f(n));
return 0;
}
*/