Problema 25
Problema:
Solución:The Fibonacci sequence is defined by the recurrence relation:Fn = Fn−1 + Fn−2, where F1 = 1 and F2 = 1.Hence the first 12 terms will be:F1 = 1
F2 = 1
F3 = 2
F4 = 3
F5 = 5
F6 = 8
F7 = 13
F8 = 21
F9 = 34
F10 = 55
F11 = 89
F12 = 144The 12th term, F12, is the first term to contain three digits.What is the index of the first term in the Fibonacci sequence to contain 1000 digits?
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package projecteuler;
import java.math.BigInteger;
/**
*
* @author lyonn
*/
public class C25 {
public void resultado() {
int i = 1;
BigInteger[] fx = new BigInteger[50000];
fx[0] = BigInteger.valueOf(1);
fx[1] = BigInteger.valueOf(1);
int tmp = 2;
for (i = 1; i <= 10000; i++) {
//fx[tmp]+=BigInteger.valueOf(fx[i-1]+fx[i]);
fx[tmp] = fx[i].add(fx[i - 1]);
tmp++;
}
for (i=0; i<=tmp-2; i++) {
//System.out.println("F" + (i+1) + ": " + fx[i] +" Length:"+ fx[i].toString().length());
if (fx[i].toString().length() == 1000) {
System.out.println("F" + (i+1) + ": " + fx[i] +" Length:"+ fx[i].toString().length());
break;
}
}
}
}
Comentarios
Publicar un comentario