백준 2193 c
#include <stdio.h>
#include <stdlib.h>
#pragma warning(disable:4996)
int main(void)
{
int N, i;
long long a = 1, b = 1, result = 1;
scanf("%d", &N);
for (i = 3; i <= N; i++)
{
result = a + b;
a = b;
b = result;
}
printf("%lld\n", result);
return 0;
}
/*
이친수 정의
1. 이친수는 0으로 시작 안함
2. 이친수에서는 1이 두번 연속으로 안 나옴
ex) N = 1 -> 1 -> 1개
ex) N = 2 -> 10 -> 1개
ex) N = 3 -> 100, 101 -> 2개
ex) N = 4 -> 1000, 1001, 1010 -> 3개
ex) N = 5 -> 10000, 10001, 10010, 10100, 10101 -> 5개
if N = 6 이면 N = 4일때와 N = 5일때의 경우 더해서 8개?
N = 6 -> 100000, 100001, 100010, 100100, 101000, 101010, 101001, 100101 -> 8개
*/