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 |