-
백준 14495번 : 피보나치 비스무리한 수열(C 언어)c c++ 언어 공부 2023. 8. 29. 11:06
https://www.acmicpc.net/problem/14495
14495번: 피보나치 비스무리한 수열
피보나치 비스무리한 수열은 f(n) = f(n-1) + f(n-3)인 수열이다. f(1) = f(2) = f(3) = 1이며 피보나치 비스무리한 수열을 나열하면 다음과 같다. 1, 1, 1, 2, 3, 4, 6, 9, 13, 19, ... 자연수 n을 입력받아 n번째 피보
www.acmicpc.net
Code:
123456789101112131415#include <stdio.h>int main() {int n;scanf("%d", &n);long long arr[117] = { 0, };arr[1] = 1;arr[2] = 1;arr[3] = 1;for (int i = 4; i <= n; i++){arr[i] = arr[i - 1] + arr[i - 3];}printf("%lld", arr[n]);}cs 문제 설명:
주어진 문제는 "피보나치 비스무리한 수열"을 계산하는 것입니다. 이 수열은 다음과 같이 정의됩니다.
피보나치 비스무리한 수열: f(n) = f(n-1) + f(n-3) (단, f(1) = f(2) = f(3) = 1)
자연수 n이 주어질 때, n번째 피보나치 비스무리한 수열 값을 출력하는 프로그램을 작성해야 합니다.
코드 설명:
- 사용자로부터 정수 n을 입력받습니다.
- n번째 피보나치 비스무리한 수열을 저장하기 위한 배열 arr을 선언하고, 초기값을 설정합니다.
- arr[1], arr[2], arr[3]은 문제에서 주어진 대로 1로 초기화됩니다.
- 반복문을 사용하여 n번째 피보나치 비스무리한 수열 값을 계산합니다.
- 현재 위치 i의 값은 이전 위치 i-1과 i-3의 값을 더한 것입니다.
- 따라서 반복문을 통해 배열 arr에 n번째 값까지 채워넣습니다.
- 계산된 n번째 피보나치 비스무리한 수를 출력합니다.
'c c++ 언어 공부' 카테고리의 다른 글
백준 5635번 : 생일 (C 언어) (0) 2023.08.30 백준 11170번 : 0의 개수(C 언어) (0) 2023.08.29 백준 15624번 : 피보나치 수 7(C 언어) (0) 2023.08.28 백준 16212번 : 정열적인 정렬 (C 언어) (0) 2023.08.28 백준 5800번 : 성적 통계 (C 언어) (0) 2023.08.26