Sunday, August 23, 2009

Euler Project 73

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 there are 3 fractions between 1/3 and 1/2.

How many fractions lie between 1/3 and 1/2 in the sorted set of reduced proper fractions for d ≤ 10,000?


My Solution


(defun Euler73v2(n)
  (let ((thirdnum 0)
         (halfnum 0))
    (loop for i from 1 to n
          sum(progn (setq thirdnum (floor (/ i 3)))
                         (setq halfnum (ceiling (/ i 2)))
                         (loop for j from thirdnum to halfnum
                             when (and (= (gcd i j) 1)
                                            (> (/ j i) (/ 1 3))
                                            (< (/ j i) (/ 1 2)))
                             sum 1)))))

No comments:

Post a Comment