27 lines
764 B
C++
27 lines
764 B
C++
#include "pi.hpp"
|
|
#include <cmath>
|
|
#include <iostream> // Include iostream for debugging
|
|
|
|
long double pi::approximate_pi(long long number) {
|
|
long long lange = number - 2;
|
|
long double a = 0, b = 0;
|
|
|
|
// Compute summation for 'a'
|
|
for (long long k = 1; k <= lange; ++k) { // Changed to include lange
|
|
long double value = std::sqrt(number * number - k * k);
|
|
a += value;
|
|
}
|
|
|
|
// Compute summation for 'b'
|
|
for (long long j = 0; j <= lange; ++j) { // Changed to include lange
|
|
long double value = std::sqrt(number * number - j * j);
|
|
b += value;
|
|
}
|
|
|
|
// Normalize the results
|
|
b = 4.0 / (number * number) * b;
|
|
a = 4.0 / (number * number) * a;
|
|
|
|
long double result = (a + b) / 2;
|
|
return result;
|
|
} |