반응형
안녕하세요 알통몬입니다. 공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
Fn = Fn-1 + Fn-2 (단, F1 = 1, F2 = 1).
이에 따라 수열을 12번째 항까지 차례대로 계산하면 다음과 같아요.
F1 = 1
F2 = 1
F3 = 2
F4 = 3
F5 = 5
F6 = 8
F7 = 13
F8 = 21
F9 = 34
F10 = 55
F11 = 89
F12 = 144
수열의 값은 F12에서 처음으로 3자리가 됩니다.
피보나치 수열에서 값이 처음으로 1000자리가 되는 것은 몇번째 항입니까?
public class Question {
public static void main(String[] args) {
BigInteger a = new BigInteger("1");
BigInteger b = new BigInteger("1");
BigInteger sum = new BigInteger("2");
int count = 2;
BigInteger bi = new BigInteger("10");
for(int i=1;i<=1000;i++){
bi = bi.multiply(bi.valueOf(10));
}
while (sum.compareTo(bi)<0) {
count++;
sum = a.add(b);
a = b;
b = sum;
}
System.out.println(sum + "-" + count);
}
}
반응형
'알고리즘,손코딩 문제' 카테고리의 다른 글
프로젝트 오일러 문제 4 : 세 자리 수를 곱해 만들 수 있는 가장 큰 대칭수는 얼마입니까? (0) | 2017.03.11 |
---|---|
프로젝트 오일러 문제 16 : 2^1000의 각 자리수를 모두 더하면 얼마입니까? (0) | 2017.03.11 |
프로젝트 오일러 문제 20 : 100! 의 자리수를 모두 더하면 얼마입니까? (0) | 2017.03.11 |
프로젝트 오일러 문제 3 : 600851475143의 소인수 중에서 가장 큰 수를 구하세요. (0) | 2017.03.11 |
프로젝트 오일러 문제 10 : 이백만(2000000) 이하의 소수의 합을 구하시오. (0) | 2017.03.11 |