My code for this question is:
[Cpp]
# Include <cstdio>
# Include <cmath>
Using namespace std;
Long int gcd (long int a, long int B)
{
Return a = 0? B: gcd (B % a, );
}
Int main ()
{
Long int x, y, n, mina, minb;
While (scanf ("% I64d % I64d % I64d", & x, & y, & n )! = EOF)
{
Int temp = gcd (x, y );
X/= temp;
Y/= temp;
If (n> = y)
{
Printf ("% I64d/% I64d \ n", x, y );
Continue;
}
For (int I = 1; I <= n; I ++)
{
Int a1 = x * I/y;
Int a2 = a1 + 1;
If (I = 1)
{
Mina = a1;
Minb = I;
}
If (fabs (a1 * 1.0/I-x * 1.0/y) <fabs (mina * 1.0/minb-x * 1.0/y ))
{
Mina = a1;
Minb = I;
}
If (fabs (a2 * 1.0/I-x * 1.0/y) <fabs (mina * 1.0/minb-x * 1.0/y ))
{
Mina = a2;
Minb = I;
}
}
Temp = gcd (mina, minb );
Printf ("% I64d/% I64d \ n", mina/temp, minb/temp );
}
Return 0;
}
# Include <cstdio>
# Include <cmath>
Using namespace std;
Long int gcd (long int a, long int B)
{
Return a = 0? B: gcd (B % a, );
}
Int main ()
{
Long int x, y, n, mina, minb;
While (scanf ("% I64d % I64d % I64d", & x, & y, & n )! = EOF)
{
Int temp = gcd (x, y );
X/= temp;
Y/= temp;
If (n> = y)
{
Printf ("% I64d/% I64d \ n", x, y );
Continue;
}
For (int I = 1; I <= n; I ++)
{
Int a1 = x * I/y;
Int a2 = a1 + 1;
If (I = 1)
{
Mina = a1;
Minb = I;
}
If (fabs (a1 * 1.0/I-x * 1.0/y) <fabs (mina * 1.0/minb-x * 1.0/y ))
{
Mina = a1;
Minb = I;
}
If (fabs (a2 * 1.0/I-x * 1.0/y) <fabs (mina * 1.0/minb-x * 1.0/y ))
{
Mina = a2;
Minb = I;
}
}
Temp = gcd (mina, minb );
Printf ("% I64d/% I64d \ n", mina/temp, minb/temp );
}
Return 0;
}
I use the codeblocks compiler and input 1/1 and output. However, after submitting the code on CF, the output is as follows:
How should I change the program?