[프로그래머스] 피보나치 수

hamsteak·2023년 9월 16일
0

ps

목록 보기
10/39

피보나치수를 1,234,567로 나눈 나머지를 구하는 문제.

다음의 모듈러 연산의 덧셈 성질을 이용하면 쉽게 해결할 수 있다.
(A + B) mod C = (A mod C + B mod C) mod C

피보나치수를 구하기 위한 bottom-up 과정에서 매 덧셈마다 모듈러 연산을 하도록 작성했다.

https://school.programmers.co.kr/learn/courses/30/lessons/12945

cpp code

using namespace std;

#define M 1234567

int solution(int n) {
    int fibo[2] = {0, 1};
    for (int i=2;i<=n;i++) {
        fibo[i%2] = (fibo[i%2] + fibo[(i+1)%2]) % M;
    }
    return fibo[n%2];
}
profile
안녕하세요

0개의 댓글