CodeUp 1916 : (재귀함수) 피보나치 수열 (Large)
7999 단어 CodeUp 재귀함수CodeUp 재귀함수
#include <stdio.h>
long long int n;
long long int getResult(long long int s1, long long int s2, int cnt) {
if (cnt > n) {
return (s1 % 10009 + s2 % 10009) % 10009;
}
else {
long long int a = s2 % 10009;
long long int b = (s1 + s2) % 10009;
getResult(a, b, cnt + 1);
}
}
int main(){
scanf("%lld", &n);
if (n == 1)
printf("1\n");
else
printf("%lld\n", getResult(0, 1, 3));
return 0;
}
아래 코드는 더 간결한 풀이법이다
#include <stdio.h>
int memo[201];
int f(int k)
{
if (memo[k]) return memo[k];
if (k <= 2) return 1;
return memo[k] = ( f(k-1) + f(k-2) ) % 10009;
}
int main()
{
int n;
scanf("%d", &n);
printf("%d", f(n));
return 0;
}
Author And Source
이 문제에 관하여(CodeUp 1916 : (재귀함수) 피보나치 수열 (Large)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@nimok97/CodeUp-1916-재귀함수-피보나치-수열-Large저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)