描述:
示例:
提示:
代码:
class Solution {
public:
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
vector<string> simplifiedFractions(int n) {
vector<string> ans;
for (int denominator = 2; denominator <= n; ++denominator) {
for (int numerator = 1; numerator < denominator; ++numerator) {
if (gcd(numerator, denominator) == 1) {
ans.emplace_back(to_string(numerator) + "/" + to_string(denominator));
}
}
}
return ans;
}
};
// push_back 加入元素需要先构造然后拷贝或移动,而emplace_back可以原地构造对象,然后加入到容器中,可以减少一次拷贝或构造。
// gcd有专用函数 __gcd