#include <bits/stdc++.h>
using namespace std;
long long gcd(long long a, long long b) {
return b == 0 ? a : gcd(b, a % b);
}
long long strToInt(string input) {
if (input.empty()) return 0;
return stoi(input);
}
pair<long long, long long> rep2Fraction(string & snonRepeat, string & srepeat) {
if (srepeat.empty()) {
long long a = strToInt(snonRepeat);
long long b = pow(10, snonRepeat.size());
long long c = gcd(a, b);
return { a / c,b / c };
}
else {
long long a = strToInt(snonRepeat + srepeat) - strToInt(snonRepeat);
long long b = pow(10, snonRepeat.size()) * (pow(10, srepeat.size()) - 1);
long long c = gcd(a, b);
return { a / c,b / c };
}
}
循环小数变分数
最新推荐文章于 2024-04-27 15:25:53 发布