/*
#include <stdlib.h>
int main()
{
printf("Hello world!\n");
return 0;
}
1902
#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;
}
1901
#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 ( n) : 1 ~ n 합
: 1~n-1합 + n
: f(n-1) + n
f(5) : 1 ~ 5 합
: 1~4합 + 5
: f(4) + 5
1905
#include <stdio.h>
int f(int n)
{
if(n==1) return 1; //종료조건
return f(n-1)+n; //재귀호출
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",f(n));
return 0;
}
1912
#include <stdio.h>
int f(int n)
{
if(n==1) return 1;
return f(n-1)*n;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",f(n));
return 0;
}
f(n) : n번째 피보나치수
f(1) 1
f(2) 1
f(3) f(2) + f(1)
f(5) f(4) + f(3)
...
f(n) f(n-1) + f(n-2)
*/
/*
#include <stdio.h>
int f(int n)
{
if(n==1 || n==2) return 1;
return f(n-1)+f(n-2);
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",f(n));
return 0;
}
1928
#include <stdio.h>
void f(int n)
{
printf("%d\n",n);
if(n==1) return ;
if(n%2!=0){
f(3*n+1);
}
else{
f(n/2);
}
}
int main()
{
int n;
scanf("%d",&n);
f(n);
return 0;
}
1929
#include <stdio.h>
void f(int n)
{
if(n==1) {
printf("%d\n",1);
return ;
}
if(n%2!=0)
{
f(3*n+1);
}
else
{
f(n/2);
}
printf("%d\n",n);
}
int main()
{
int n;
scanf("%d",&n);
f(n);
return 0;
}
1
2
3
4
5
f(n) : 1~n 까지 출력
g(n) : *을 n개 출력
*/
#include <stdio.h>
void g(int n)
{
printf("*",n);
}
void f(int n)
{
if(n==0)
{
return ;
}
f(n-1);
g(n);//printf("%d",n);
printf("\n");
}
int main()
{
int n;
scanf("%d",&n);
f(n);
return 0;
}