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.
p/q < 3/7 ==> 7p<3q ==> 7p<=3q -1 ==> p=floor((3q-1)/7)
将当前最接近3/7的分数保存为r/s 如果 r/s <p/q 即 r*q < p*s 则把p,q分别赋值给r,s
import math a=3 b=7 r=0 s=1 for q in range(2,1000000): p=math.floor((a*q-1)/b) if r*q < s*p: r=p s=q print('r = ',r) print('s = ',s)
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-11 06:52:31