PyPE solution to PE problem 71
PyPE solution to PE problem 71
Blueprint information
- Status:
- Complete
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- Approved
- Series goal:
- None
- Implementation:
- Implemented
- Milestone target:
- None
- Started by
- Scott Armitage
- Completed by
- Scott Armitage
Related branches
Related bugs
Sprints
Whiteboard
ProjectEule
===
Consider the fraction, n/d, where n and d are positive integers. If nd and
HCF(n,d)=1, it is called a reduced proper fraction.
If we list the set of reduced proper fractions for d 8 in ascending order
of size, we get:
1/8, 1/7, 1/6, 1/5, 1/4, 2/7, 1/3, 3/8, 2/5, 3/7, 1/2, 4/7, 3/5, 5/8,
2/3, 5/7, 3/4, 4/5, 5/6, 6/7, 7/8
It can be seen that 2/5 is the fraction immediately to the left of 3/7.
By listing the set of reduced proper fractions for d 1,000,000 in
ascending order of size, find the numerator of the fraction immediately
to the left of 3/7.
Solution 1
----------
The first solution is a mostly brute-force approach with one small insight
applied that greatly reduces the number of calculations required. For each
possible denominator d, we can easily determine the numerator n that will
be closest to -- without going over -- the desired value of 3/7:
n = floor( (3/7) * d )
We then iterate through the possible denominators, and if the particular
closest match for a given denominator is a better solution than what we
had previously, store the new one. The code for this approach is saved
below for posterity.
Solution 2
----------
The second approach is based off the notes provided by Project Euler
(http://
Answer
------
428570