피보나치 5

[C언어] 백준 2749 : 피보나치 수 3

백준 2749 : 피보나치 수 3 문제 링크 www.acmicpc.net/problem/2749 2749번: 피보나치 수 3 첫째 줄에 n이 주어진다. n은 1,000,000,000,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 문제 내용 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그다음 2번째부터는 바로 앞 두 피보나치 수의 합이 된다. n이 주어질때, n번째 피보나치 수를 1,000,000으로 나눈 나머지를 출력한다. Idea 이 문제를 시간초과 없이 풀기 위해서는 피사노 주기를 알아야한다. 피사노 주기란 피보나치 수를 m으로 나눈 나머지가 주기를 이룬다는 것이다. 즉, 일정한 패턴이 존재한다는 뜻이다. 피사노 주기..

백준 Baekjoon 2020.10.10

[C언어] 백준 9471 : 피사노 주기

백준 9471 : 피사노 주기 문제 링크 www.acmicpc.net/problem/9471 9471번: 피사노 주기 첫째 줄에 테스트 케이스의 개수 P (1 ≤ P ≤ 1000)가 주어진다. 각 테스트 케이스는 N과 M으로 이루어져 있다. N은 테스트 케이스의 번호이고, M은 문제에서 설명한 m이다. (2 ≤ M ≤ 1,000,000) www.acmicpc.net 문제 내용 1960년, IBM의 직원 Donald Wall은 피보나치수열을 m으로 나눈 나머지가 주기를 이룬다는 것을 증명했다. 예를 들어, 피보나치 수열의 처음 10개를 11로 나눈 예는 다음과 같다. 나머지를 이용해서 만든 수열은 주기가 나타날 수 있다. k(m)을 반복하는 부분 수열의 길이라고 했을 때, k(11) = 10 임을 알 수 ..

백준 Baekjoon 2020.10.09

[C언어] 백준 10870 : 피보나치 수 5

백준 10870 : 피보나치 수 5 문제 링크: https://www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n>=2)가 �� www.acmicpc.net 문제 내용 (요약) 0번째 피보나치 수는 0이고 1번째 피보나치 수는 1일 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. Idea 이번 문제는 재귀 함수로 풀어보았다. 피보나치 수는 자신 앞의 두 수를 합한 값과 같다는 것을 이용하여 먼저 점화식을 작성한다. 이를 그대로 코드에 옮겨적으면 된다. ..

백준 Baekjoon 2020.08.14

[C언어] 백준 1003 : 피보나치 함수

백준 1003 : 피보나치 함수 문제 링크 https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 문제 내용 (요약) 위 함수는 피보나치 수열에서 사용된 0과 1을 출력하는 함수이다. N이 주어졌을 때, fibonacci(n)을 호출했을 때, 0과 1이 각각 몇 번 출력되는지 구하는 프로그램을 작성하시오. Idea 해당 문제에 대한 접근은 이 역시 피보나치 수열을 활용한다고 보면 된다. 이 문제를 풀기전에 아래 기본적인 피보나치 수열에 대한 문제를 풀고오면 좋다. https://wtg-study.tistory.com/4 [JAVA] 백준 2748 ..

백준 Baekjoon 2020.07.20

[JAVA] 백준 2748 : 피보나치 수 2

백준 2748 : 피보나치 수 2 문제 링크 https://www.acmicpc.net/problem/2748 2748번: 피보나치 수 2 문제 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n>=2)�� www.acmicpc.net 문제 내용 (요약) 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn=Fn-1+Fn-2(n>=2)가 된다. n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. Idea 피보나치 수열이란 앞의 두 ..

백준 Baekjoon 2020.07.20