注意
- 输入值是浮点数
- 判断最小一项是否小于等于输入值
- 直接计算会超出长整形 
- 保留6位小数
- 输入时double类型需要用lf来读入
代码
#include <iostream>
#include <cstdio>
using namespace std;
int main(){
    double x;
    scanf("%lf", &x);
    double sum = 1;
    int t = 1;
    double last = 1;
    while(last >= x){
        last = last*t/(2*t+1);
        sum += last;
        t++;
    }
    printf("%.6f\n", sum*2);
    return 0;
}