-1
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
float pi =0;
bool add = true;
for (int i =1; i < 30000; i+=2) {
if (add) {
pi = pi + (4/i);
add = false;
} else {
pi = pi - (4/i);
add = true;
}
}
cout << setprecision(18);
cout << pi;
return 0;
}
しかし、出力はわずか3です!すべての時間....なぜそう?私の論理に何が間違っていますか?forループを使ってPiを計算しようとすると、3が返されます。
Leibnizシリーズがコンピュータとうまく対応していないのは間違っていますか?
'(4/i)'はあなたが期待することをしません。 – NathanOliver
はい、 '4.0/i'にする必要があります – Djee