为什么不对

hebaijun 2024-03-13 21:05:28 6

#include<bits/stdc++.h> using namespace std; int main(){ double h=1.0,n=0-3;

do{
	h+=1/n;
	n=-n;
	if(n>0){
		n+=2;	
	}else{
		n-=2;
	} 
}while(abs(n)<1000000);
printf("%.6f",h);
return 0;

}

{{ vote && vote.total.up }}

共 3 条回复

hebaijun

谢站长大人

root 站长

直到最后一项小于 1e-6

也就是说,最后一项是比1e-6小的那一项,要把这一项加上来。

输出修改为 printf("%.6lf", h + 1/n); 即可。

root 站长
```cpp
你的代码
```