主要考点是模拟分数加法以及最大公约数约分。
#include <iostream>
using namespace std;
long long GetGCD(long long a, long long b){ //辗转相除法求最大公约数
return b == 0 ? a : GetGCD(b, a%b);
}
int main()
{
// 请在此输入您的代码
long long e = 2;
long long sum_a = 1, sum_b = 1;
long long add_b = 1;
for(int i=1; i<20; i++){
add_b = e;
sum_a = add_b / sum_b * sum_a + 1;
sum_b = add_b;
long long GCD = GetGCD(sum_a, sum_b);
sum_a /= GCD;
sum_b /= GCD;
e *= 2;
}
cout << sum_a << "/" << sum_b <<endl;
return 0;
}