728x90
시간 제한 : 1초
메모리 제한 : 128MB
입력
첫째 줄에 K (1 ≤ K ≤ 45)가 주어진다.
출력
첫째 줄에 A의 개수와 B의 개수를 공백으로 구분해 출력한다.
소스코드
#include <iostream> using namespace std; int main(void) { int n; long long a[46] = { 1, 0, }, b[46] = { 0, 1, }; cin >> n; for (int i = 2; i <= n; i++) a[i] = a[i - 1] + a[i - 2], b[i] = b[i - 1] + b[i - 2]; cout << a[n] << ' ' << b[n]; }
Tip
A의 숫자, B의 숫자에 대해서 따로 분리하여 생각해보면 각각의 결과물이 피보나치 수열이 나타난다. 이런 문제는 반복문 사용만 잘하면 쉽게 풀 수 있다.
728x90
'Computer Science > Algorithm Problem' 카테고리의 다른 글
백준] 2355 - 시그마 (0) | 2018.01.07 |
---|---|
백준] 4641 - Doubles(ACM-ICPC Regional) (0) | 2018.01.04 |
백준] 13458 - 시험 감독 (0) | 2018.01.03 |
백준] 1350 - 진짜 공간 (0) | 2018.01.01 |
백준] 3135 - 라디오 (0) | 2017.12.28 |