1. 程式人生 > >EularProject 73:Counting fractions in a range

EularProject 73:Counting fractions in a range

Andrew Zhang
Nov 11, 2017

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 ≤ 12,000?

Answer:
7295372
Completed on Fri, 10 Nov 2017, 17:45

Code:

#include <iostream>
using namespace std;

int gcd(int a, int b)
{
    int
c = a % b; if(c == 0) { return b; } else { return gcd(b, c); } } int main() { int d = 12000; int result = 0; for(int i = 4; i <= d; i++) { int n1 = i / 3; int n2 = i / 2; for(int j = n1; j <= n2; j++) { if((3 * j <= i) || (2
* j == i)) { continue; } if(gcd(i, j) == 1) { //cout<<j<<" "<<i<<endl; result++; } } } cout<<result<<endl; system("pause"); return 0; }