Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Andrew Dahl
/
Project Euler
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
34a31c23
authored
Jan 14, 2012
by
Andrew Dahl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Solved Problem 25
parent
934fed61
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
55 additions
and
0 deletions
25/README
25/main.cpp
include/BigInteger.h
25/README
0 → 100644
View file @
34a31c23
Question:
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?
Answer: 4782
25/main.cpp
0 → 100644
View file @
34a31c23
#include <iostream>
#include "../include/BigInteger.h"
using
namespace
std
;
const
int
SIZE
=
1000
;
int
main
()
{
BigInteger
num
(
"1"
);
BigInteger
num2
(
"1"
);
int
count
=
0
;
for
(
count
=
0
;
num
.
size
()
<
SIZE
&&
num2
.
size
()
<
SIZE
;
count
+=
2
)
{
num
+=
num2
;
num2
+=
num
;
}
if
(
num
.
size
()
>=
SIZE
)
cout
<<
count
+
1
<<
endl
;
else
cout
<<
count
+
2
<<
endl
;
return
0
;
}
include/BigInteger.h
View file @
34a31c23
...
...
@@ -44,6 +44,11 @@ class BigInteger
return
*
this
;
}
int
size
()
{
return
this
->
value
.
size
();
}
string
toString
()
{
stringstream
ss
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment