注意: 此题测试数据很大,容易超时,经测试最小边界在t=100。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int i;
int n;
int t;
double sum=0;
int flag;
cin>>n;
while(n--)
{
flag=1;
sum=0;
cin>>t;
if(t>=100)t=100;
for(i=1; i<=t; i++)
{
sum+=flag*(1.0/i);
flag=-flag;
}
printf("%.2lf\n",sum);
}
}