__gcd函数,求最大公约数
1447. 最简分数
_gcd()函数是内置于algorithm头文件中的函数,主要是用于求两个数的最大公约数
可用来判断是否为最简分数
class Solution {
public:
// 哈希重复判断可约
// vector<string> simplifiedFractions(int n) {
// vector<string> ans;
// unordered_set<double> sett;
// for(int i = 2; i<=n; i++){
// string temps;
// int fenmu = i;
// int fenzi = 1;
// while(fenzi<fenmu){
// double a = (double)fenzi/fenmu;
// cout<<a<<endl;
// if(sett.find(a) == sett.end()){
// sett.insert(a);
// temps+=to_string(fenzi);
// temps+="/";
// temps+=to_string(fenmu);
// cout<<temps<<endl;
// ans.push_back(temps);
// temps = "";
// }
// fenzi++;
// }
// }
// return ans;
// }
//__gcd函数,求最大公约数
vector<string> simplifiedFractions(int n) {
vector<string> ans;
for(int i = 2; i<=n; i++){
string temps;
int fenmu = i;
int fenzi = 1;
while(fenzi<fenmu){
if(__gcd(fenzi, fenmu) == 1){
temps+=to_string(fenzi);
temps+="/";
temps+=to_string(fenmu);
cout<<temps<<endl;
ans.push_back(temps);
temps = "";
}
fenzi++;
}
}
return ans;
}
};

浙公网安备 33010602011771号