题目描述
给你一个整数 n ,请你返回所有 0 到 1 之间(不包括 0 和 1)满足分母小于等于 n 的 最简 分数 。分数可以以 任意 顺序返回。
算法分析
最简函数是不能约分的函数,即分子和分母的最大公约数是1,因此我们使用__gcd判断最大公约数,使用两个循环遍历小于n的所有分子分母,有符合的push_back进去即可
参考代码
class Solution {
public:
vector<string> simplifiedFractions(int n) {
vector<string> ans;
if(n==1) return ans;
for(int i=2;i<=n;i++){
for(int j=1;j<i;j++){
if(__gcd(j,i)==1){
string temp="";
temp=temp+(to_string(j)+"/"+to_string(i));
ans.push_back(temp);
}
}
}
return ans;
}
};