提交 9442e498 编写于 作者: 每日一练社区's avatar 每日一练社区

update algorithm exercises

上级 f1d08c9c
回到小学
真分数:分子小于分母的分数
既约分数:分子分母互质,也就是说最大公约数是1
x星球数学城的入口验证方式是:
屏幕上显示一个真分数,需要你快速地找到一个比它小的既约分数,要求这个分数越大越好。
同时限定你的这个分数的分母不能超过100。
\ No newline at end of file
#include <stdio.h>
int gcd(int a, int b)
{
if (b == 0)
return a;
return gcd(b, a % b);
}
int main()
{
// 这是屏幕上显示的那个分数 a/b
int a = 7;
int b = 13;
int m, n;
int max_a = 0;
int max_b = 1;
for (n = 100; n > 1; n--)
{
for (m = n - 1; m >= 1; m--)
{
if (m * b < a * n && gcd(m, n) == 1)
{
if (m * max_b > n * max_a)
{
max_a = m;
max_b = n;
break;
}
}
}
}
printf("%d/%d\n", max_a, max_b);
return 0;
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册