/*
#include<stdio.h>
int f(int n)
{
int sum=0;
for(;;)
{
sum+=n%10;
n=n/10;
if(n==0)
{
break;
}
}
return sum;
}
int main()
{
int n, sum;
scanf("%d", &n);
for(;;){
sum=f(n);
n=sum;
if(sum<10){
break;
}
}
printf("%d", n);
return 0;
}
#include<stdio.h>
int main (){
int a, sum;
scanf("%d", &a);
for(;;){
sum+=a%10;
if(a==0){
break;
}
}
printf("%d", sum);
return 0;
}
재귀 함수 : recursive function : 다시 돌아오는 함수
재귀함수의 특징
1. 코드가 짧아, 간단
2. 말이 돼, 근데 왜 ?
재귀함수의 정의
1. 함수 내에서 자신을 다시 호출하는 함수
2. 자신으로 다시 정의내리는 함수
f(n) : n ~ 1 출력
: n출력 -> n-1 ~ 1출력
: n출력 -> f(n-1)
#include<stdio.h>
void f(int n)
{
// 종료조건
if(n==0) {
return ;
}
f(n-1); // 재귀 호출
printf("%d ",n);
}
int main (){
f(10); // f함수 호출
return 0;
}
*/
/*
#include<stdio.h>
void f(int n){
if(n==0){
return;
}
f(n-1);
printf("%d\n", n);
}
int main(){
int a;
scanf("%d", &a);
f(a);
return 0;
}
*/
/*
#include<stdio.h>
void f(int n){
if(n==0){
return ;
}
printf("%d\n", n);
f(n-1);
}
int main(){
int a;
scanf("%d", &a);
f(a);
return 0;
}
*/
#include<stdio.h>
int f(int n){
if(n<a){
return;
}
f(n-1);
printf("%d ", n);
}
int main(){
scanf("%d %d", &a, &b);
f(a,b);
return 0;
}