/*
#include <stdio.h>
long long int n;
int sqrt(long long int n)
{
int i;
for(i=0;;i++)
{
if((long long int)i*i>n)
{
return i-1;
}
}
}
int main()
{
scanf("%lld", &n);
printf("%d\n", sqrt(n));
return 0;
}
재귀함수
정의
1. 함수 내에서 자신을 다시 호출하는 함수
2. 자신으로 다시 정의내리는 함수
특징
1. 코드가 짧아 -> 쉬워 -> 어려워
2. 말이 돼 -> 이게 왜 돼 ?
//////////////
f(n) : n부터 1까지 출력
n출력 -> n-1부터 1까지 출력
n출력 -> f(n-1) (항상 되지는 않는다!)
종료조건 if(n==0) return ;
void f(int n)
{
if(n==0) return ; //종료조건
printf("%d ",n);
f(n-1);//n-1부터 1까지 출력;
}
////////////////
f(n) :
1부터 n까지 출력
1부터 n-1까지 출력 -> n출력
f(n-1) -> n출력
#include <stdio.h>
void f(int n)
{
if(n==0) return ;
f(n-1);
printf("%d\n",n);
}
int main()
{
int n;
scanf("%d",&n);
f(n);
return 0;
}
f(a,b) :
a부터 b까지 출력
a부터 b-1까지 출력 -> b출력
f(a,b-1) -> b출력
*/
#include<stdio.h>
void f(int a,int b)
{
if(a>b) return ;
f(a,b-1);
printf("%d ",b);
}
int main()
{
int a,b;
scanf("%d %d",&a,&b);
f(a,b);
return 0;
}