码迷,mamicode.com
首页 > 其他好文 > 详细

Project Euler:Problem 71 Ordered fractions

时间:2015-07-17 16:26:05      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:project euler

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)


版权声明:本文为博主原创文章,未经博主允许不得转载。

Project Euler:Problem 71 Ordered fractions

标签:project euler

原文地址:http://blog.csdn.net/youb11/article/details/46926077

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!