题目描述
给定一个整数 N,请你求出所有分母小于或等于 N,
大小在 [0,1]范围内的最简分数,并按从小到大顺序依次输出。
输入格式
共一行,包含一个整数 N。
输出格式
按照从小到大的顺序,输出所有满足条件的分数。
每个分数占一行,格式为 a/b,
其中 a为分子, b为分母。
数据范围
1≤N≤160
输入样例:
5
#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 10;
struct node
{
int first;
int second;
float num;
bool operator<(const node &p) const
{
if (this->num < p.num)
return true;
return false;
}
};
set<node> a;
int main()
{
int n;
cin >> n;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j < i; j++)
{
float num1 = (float)j / (float)i;
a.insert({j, i, num1});
}
}
a.insert({0, 1, 0.0});
a.insert({1, 1, 1.0});
for (auto s : a)
{
cout << s.first << "/" << s.second << endl;
}
return 0;
}