Added solution for ProjectEuler/025: php, ruby

This commit is contained in:
FuryFire
2012-03-30 11:15:23 +02:00
parent a858aaadda
commit 94dc7ec373
5 changed files with 83 additions and 25 deletions

30
ProjectEuler/025/desc.yml Normal file

@ -0,0 +1,30 @@
title: What is the first term in the Fibonacci sequence to contain 1000 digits?
url: http://projecteuler.net/problem=25
desc: |
The Fibonacci sequence is defined by the recurrence relation:
Fn = Fn1 + Fn2, 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 = 144
The 12th term, F12, is the first term to contain three digits.
What is the first term in the Fibonacci sequence to contain 1000 digits?
solution: Bruteforce
solutions:
solve.php:
desc: Basic Solution
language: php

@ -0,0 +1,13 @@
<?php
define('DIGITS',1000);
$current = 1;
$prev = 1;
$term = 2;
while(strlen($current) < DIGITS) {
$term++;
$next = bcadd($current,$prev);
$prev = $current;
$current = $next;
}
echo $term;

13
ProjectEuler/025/solve.rb Normal file

@ -0,0 +1,13 @@
DIGITS = 1000
max = 10 ** (DIGITS-1)
fcurrent = 1
fprev = 1
term = 2
while fcurrent < max do
term = term + 1
fnext = fcurrent + fprev
fprev = fcurrent;
fcurrent = fnext;
end
puts term