-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path071.py
37 lines (27 loc) · 999 Bytes
/
071.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
"""
Project Euler Problem 71
========================
Consider the fraction, n/d, where n and d are positive integers. If n < d
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.
"""
from sympy import Rational
from math import floor, ceil
fraction = 3 / 7
num = 0
diff = float("inf")
for i in range(3, 1000001):
curr_num = floor(i * fraction)
# print(curr_num / i)
if 0 < (fraction - curr_num / i) < diff:
diff = fraction - curr_num / i
# print(fraction, curr_num, i, diff)
num = curr_num
print(num)