2022-2-10 T.1447 最简分数
题目描述:
给你一个整数 n ,请你返回所有 0 到 1 之间(不包括 0 和 1)满足分母小于等于 n 的 最简 分数 。分数可以以 任意 顺序返回。
示例:
输入:n = 4 输出:["1/2","1/3","1/4","2/3","3/4"] 解释:"2/4" 不是最简分数,因为它可以化简为 "1/2" 。
思路:
分子分母最大公约数为1时则为最简分数。
代码:
class Solution { public: void cac(int m, vector<string>& ans) { for(int i = 1; i < m; i++){ if(gcd(i, m) == 1) ans.push_back(to_string(i) + "/" + to_string(m)); } } vector<string> simplifiedFractions(int n) { vector<string> ans; for(int i = 2; i <= n; i++) cac(i, ans); return ans; } };