본문 바로가기

백준/C++

[C++] 백준 2747번 - 피보나치 수

728x90

 

문제 2747번

https://www.acmicpc.net/problem/2747

 

n번째 피보나치 수를 구하기 위해 1부터 n이 되기 전까지 반복문을 돌려줬다. 수를 두개씩 더해서 다음 수가 되는 거니까 1부터 시작하고, f2를 출력하도록 하였으니 1을 더 빼 n이 되기 전까지 반복되도록 한 것이다. sum 함수로 두 수를 더하는 함수를 만들었고 리턴값을 f2에 업데이트한다. 그리고 f1에는 업데이트 하기 전의 f2값을 넣어준다. 그렇게 반복문을 마치고 f2를 출력해주면 n번째 피보나치 수를 구할 수 있다.

 

#include <iostream>
using namespace std;

int n, f1 = 0, f2 = 1, temp;

int sum(int a, int b) {
	return a + b;
}

int main() {
	cin >> n;
	for (int i = 1; i < n; i++) {
		temp = f2;
		f2 = sum(f1, f2);
		f1 = temp;
	}

	cout << f2;
}

 

 

 

728x90

'백준 > C++' 카테고리의 다른 글

[C++] 백준 2443번 - 별 찍기 6  (0) 2024.06.03
[C++] 백준 2442번 - 별 찍기 5  (0) 2024.06.03
[C++] 백준 2441번 - 별 찍기 4  (0) 2024.05.31
[C++] 백준 10872번 - 팩토리얼  (0) 2024.05.30
[C++] 백준 1977번 - 완전제곱수  (0) 2024.05.29