思路分享:
思路1
这个分数求和我们可以看做先加再减
分母每次递加2 用for循环 可得:
设x= 1+1/3+1/5+...+1/99
再设z= 0-1/2-1/4-...-1/100
x+z和就是要的答案
代码分享如下:
int main()
{
float i = 0, j = 0,x = 0.0 ,z = 0,y = 0.0;
for (i = 1;i<=100; i+=2)
{
x = x + 1.0/ i;
}
for (j = 2; j <= 100; j += 2)
{
z = z - 1.0/ j;
}
y = x + z;
printf("%f ", y);
return 0;
}
思路2:
分母每次递增1,递增的同时变换符号,相加即可得
int main()
{
double sum = 0.0;
int flag = 1;
int i=0;
for (int i = 1; i <= 100; i++)
{
sum += (flag) * 1.0 / i;
flag = -flag;
}
printf("%f", sum);
return 0;
}