코드
#include <cstdio>
using namespace std;
typedef long long ll;
const int INF = 1000000007;
int n;
ll a,b,tmp;
int main() {
scanf("%d", &n);
// 0일 때 예외처리
if(n == 0) {
printf("%d\n", 0);
return 0;
}
b = 1;
// 피보나치 수열 규칙
for(int i = 2; i < n + 1; i++) {
tmp = a; // 임시 값 저장
a = b; // a에 b값 할당
b = (b + tmp)%INF; // b에 a값을 저장한 tmp를 더해주고 INF로 모듈러 연산
}
printf("%d\n", b); // 출력
return 0;
}
변수 3개로 값을 저장해서 해결해보았다. C++로는 배열을 만들어서 저장하는 풀이만 했던 거 같아서 다른 풀이를 선택해보았다.
'백준' 카테고리의 다른 글
[백준] 2961번 도영이가 만든 맛있는 음식 C++ 코드 (0) | 2024.08.08 |
---|---|
[백준] 2098번 외판원 순회 C++ 코드 (0) | 2024.08.08 |
[백준] 1965번 상자넣기 C++ 코드 (0) | 2024.08.06 |
[백준] 1890번 점프 C++ 코드 (0) | 2024.08.06 |
[백준] 2042번 구간 합 구하기 C++ 코드 (0) | 2024.08.06 |