The Fibonacci sequence is defined by the recurrence relation:
F
n = F n1 + F n
2 , where F 1 = 1 and F 2 = 1.
Hence the first 12 terms will be:
F
1 = 1
F 2 = 1
F 3 = 2
F 4 = 3
F 5 = 5
F 6 = 8
F 7 = 13
F 8 = 21
F 9 = 34
F 10 = 55
F 11 = 89
F 12 = 144The 12th term, F
12 , is the first term to contain three digits.What is the first term in the Fibonacci sequence to contain 1000 digits?
One second to run and on to the next Level.
import java.math.*;
public class Euler25
{
public static void main(String[] args)
{
System.out.print(“Problem 25:\n”);
Euler25 e = new Euler25();
System.out.print(“Answer = ” + e.Problem1()+ “\n”);
}
public String Problem1 ()
{
int c = 2;
BigInteger n2 = new BigInteger(“1”);
BigInteger n1 = new BigInteger(“1”);
BigInteger n0 = n1.add(n2);
while (n0.toString().length() < 1000)
{
n0 = n1.add(n2);
c++;
n2 = n1;
n1 = n0;
}
return String.valueOf(c);
}
}