/*
#include <stdio.h>
#include <string.h>
int stack[50001];
int top;
top=-1;
void push(int data)
{
top++;
stack[top]=data;
}
int pop(void)
{
return stack[top--];
}
int main(void)
{
char str[50001];
int i,j,cnt=0;
scanf("%s", str);
for(i=0;str[i]!=0;i++)
{
if(str[i]=='(')
{
push(1);
}
else
{
if(top==-1)
{
printf("bad");
return 0;
}
pop();
}
}
if(top==-1)
{
printf("good");
}
else
{
printf("bad");
}
return 0;
}
#include <stdio.h>
int queue[100];
int front=-1,rear=-1;
//레어 등급== 엘리자베스=안녕=사망==델타항공이 마지막으로 ㅎ ㅇ 고객 한 witch
//앞 == 델타변이바이러스가 마지막으로 ㅃ ㅇ 한 마녀
void enqueue(int data)
{
rear++;
queue[rear]=data;
}
int dequeue()
{
front++;
return queue[front];
}
int main()
{
enqueue(1);
enqueue(2);
enqueue(3);
printf("%d",dequeue());
}
*/
/*
#include <stdio.h>
void lll(int n)
{
if(n==0)
{
return;
}
lll(n-1);
kkk(n);
printf("\n");
}
void kkk(int n)
{
if(n==0)
{
return;
}
else
{
printf("*");
kkk(n-1);
}
}
int main(void)
{
int n;
scanf("%d",&n);
lll(n);
}
*/
#include <stdio.h>
int memo[201]={};
int f(int n)
{
/*1 1 2 3 5 8 13 21 34 55
89 144 233 377 610 987 1597
2584 4181 6765 10946 17711
28657 46368 75025 */
if(memo[n]!=0) return memo[n];
if(n==1 || n==2)
{
return memo[n]=1;
}
else
{
return memo[n]=(f(n-2)+f(n-1))%10009;
}
}
int main(void)
{
int n;
scanf("%d",&n);
printf("%d",f(n));
return 0;
}
2021.11.28일
재귀함수,큐,스택 입니다.