1062 最简分数
Statement
Metadata
- 作者: CHEN, Yue
- 单位: 浙江大学
- 代码长度限制: 16 KB
- 时间限制: 400 ms
- 内存限制: 64 MB
一个分数一般写成两个整数相除的形式:
现给定两个不相等的正分数
输入格式
输入在一行中按
输出格式
在一行中按
输入样例
输出样例
Solution
#include <bits/stdc++.h>
using namespace std;
#define MAXN 1000
int gcd(int x, int y) {
int r;
while (1) {
r = x % y;
if (!r)
break;
x = y;
y = r;
}
return y;
}
int main() {
int a, b, c, d, k;
scanf("%d/%d %d/%d %d", &a, &b, &c, &d, &k);
double n, m, p;
n = (double)a / b, m = (double)c / d;
if (n > m)
swap(n, m);
int i, flag = 0;
for (i = 1; i <= k; i++) {
p = (double)i / k;
if (p > n && p < m && gcd(i, k) == 1) {
if (flag)
printf(" %d/%d", i, k);
else {
flag = 1;
printf("%d/%d", i, k);
}
}
}
cout << endl;
}
Last update: May 4, 2022