円周率の近似値を小数点以下5桁までシミュレートしようとしています。これは私がそれを基にしている公式です:
しかし、無限大を使用する代わりに、小数点以下5桁に概算しています。これは私が持っているコードですが、得られる結果は0です。私の推測は整数除算によるものですが、除法の1つに0を追加しようとしましたが、役に立ちません。
#include <cmath>
#include <iostream>
int main() {
int sum = 0;
for (int k = 0; k < 5; ++k) {
sum += pow(-1, k) / (2 * k + 1);
}
sum *= 4;
std::cout << sum;
}
この部分:
sum += pow(-1, k) / (2 * k + 1);
私はに変更してみました:
sum += ( pow(-1, k) + 0. ) / (2 * k + 1);
また
sum += ( pow(-1, k) * 1. ) / (2 * k + 1);
しかし、結果はまだ0です。何が間違っている可能性がありますか?