シリーズの最初の20要素を計算しました-
2つの方法で、1番目-前方、2番目-後方。このために私はしました-
#include <iostream>
#include <math.h>
using namespace std;
float sumSeriesForward(int elementCount) {
float sum = 0;
for (int i = 0; i < elementCount; ++i) {
sum += (float) 1 / (pow(3, i));
}
return sum;
}
float sumSeriesBack(int elementCount) {
float sum = 0;
for (int i = (elementCount - 1); i >= 0; --i) {
sum += (float) 1 / (pow(3, i));
}
return sum;
}
int main() {
cout.precision(30);
cout << "sum 20 first elements - forward: " << sumSeriesForward(20) << endl;
cout << "sum 20 first elements - back: " << sumSeriesBack(20) << endl;
}
そして私は得た-
sum 20 first elements - forward: 1.5000001192092896
sum 20 first elements - back: 1.5
誰かが2つの方法の違いはなぜですか?