这是我写的代码,结果sum=2.224353
#include<stdio.h>
int main()
{
int N;
scanf("%d",&N);
int i;
double sum = 0;
for(i=1;i<=N;i=i+2)
{
sum = sum + 1.0/i;
}
printf("sum = %.6f",sum);
return 0;
}
这是正确答案,结果是2.549541.同样是奇数,2*I-1和I=I+2有什么区别吗?求帮助
#include<stdio.h>
int main()
{
int N;
scanf("%d",&N);
int i;
double sum = 0;
for(i=1;i<=N;i++)
{
sum = sum + 1.0/(2*i-1);
}
printf("sum = %.6f",sum);
return 0;
}
你手动模拟下loop中i的变化, N取5:
前者是1, 3, 5
后者是1, 3, 5, 7, 9.
二级即视感.