lazy_piger
2017-07-16
Consider the fraction, n/d, where n and d are positive integers. If n < <script type="math/tex" id="MathJax-Element-1"><</script>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.
Answer:
428570
Completed on Sun, 16 Jul 2017, 14:38
Go to the thread for problem 71 in the forum.
Download overview for problem 71.
#include <iostream>
using namespace std;
#define MAX 1000000
int HCF(int a, int b)
{
int c = a%b;
if (c == 0)
return b;
else
return HCF(b, c);
}
int main()
{
int s_n = 3, s_d = 7;
int t_n = 0, t_d = 1;
int i, j;
for (i = 1; i < MAX; i++)
{
for (j = i * s_d / s_n; j < MAX; j++)
{
if (HCF(i, j) == 1)
{
if (i * s_d < j * s_n)
{
if (i * t_d > j * t_n)
{
t_n = i;
t_d = j;
}
break;
}
}
}
}
cout << t_n << "/" << t_d << endl;
return 0;
}