Restructuring
This commit is contained in:
30
solutions/ProjectEuler/025/desc.yml
Normal file
30
solutions/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 - needs BCMath
|
||||
language: php
|
||||
solve.rb:
|
||||
desc: Basic solution
|
||||
language: ruby
|
13
solutions/ProjectEuler/025/solve.php
Normal file
13
solutions/ProjectEuler/025/solve.php
Normal file
@ -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
solutions/ProjectEuler/025/solve.rb
Normal file
13
solutions/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
|
Reference in New Issue
Block a user