-
백준 15624번 : 피보나치 수 7(C 언어)c c++ 언어 공부 2023. 8. 28. 12:54
https://www.acmicpc.net/problem/15624
15624번: 피보나치 수 7
첫째 줄에 n번째 피보나치 수를 1,000,000,007으로 나눈 나머지를 출력한다.
www.acmicpc.net
Code:
1234567891011121314#include <stdio.h>int main() {int n;scanf("%d", &n);long long arr[1000001] = { 0, };arr[0] = 0;arr[1] = 1;for (int i = 2; i <= n; i++){arr[i] = (arr[i - 1] + arr[i - 2]) % 1000000007;}printf("%lld", arr[n]);}cs 문제 설명:
주어진 문제에서는 n번째 피보나치 수를 구하는 문제입니다. 피보나치 수열은 0과 1로 시작하고, 이후의 수는 이전 두 수의 합으로 계산됩니다. 주어진 수 n에 대한 n번째 피보나치 수를 1,000,000,007로 나눈 나머지를 출력해야 합니다.
코드 설명:
- 입력으로 n을 받습니다. 이는 우리가 찾고자 하는 피보나치 수열의 인덱스입니다.
- arr 배열을 선언하고 초기화합니다. arr[0]은 0, arr[1]은 1로 초기화합니다. 이는 피보나치 수열의 초기값입니다.
- 반복문을 사용하여 2번부터 n까지의 피보나치 수를 계산합니다. 각 항은 바로 이전 항과 그 이전 항의 합으로 계산됩니다. (arr[i - 1] + arr[i - 2]) % 1000000007을 사용하여 계산하며, 나머지 연산을 통해 값이 너무 커지는 것을 방지합니다.
- 계산한 n번째 피보나치 수를 출력합니다.
'c c++ 언어 공부' 카테고리의 다른 글
백준 11170번 : 0의 개수(C 언어) (0) 2023.08.29 백준 14495번 : 피보나치 비스무리한 수열(C 언어) (0) 2023.08.29 백준 16212번 : 정열적인 정렬 (C 언어) (0) 2023.08.28 백준 5800번 : 성적 통계 (C 언어) (0) 2023.08.26 백준 11931번 : 수 정렬하기 4(C 언어) (0) 2023.08.26