#include <iostream>
using namespace std;
#include <cmath>
#include <iomanip>
class Four
{
private:
int inputedAccuracy;
double pi;
double denominator;
int doneTermCounter;
double oneTerm;
int negativeController;
public:
double question4()
{
cout << "Accuracy set at : " ;
cin >> inputedAccuracy;
cout << endl;
pi = 0.0;
denominator = 1.0;
doneTermCounter = 0;
negativeController = 1;
cout << "Term" << " " << "pi" << endl;
cout << "1 " << " " << "4" << endl;
for (inputedAccuracy; inputedAccuracy > 0; inputedAccuracy -= 100)
{
for (int doneTerm = 0; doneTerm < 100; doneTerm++)
{
pi = pi + (negativeController * 4 / denominator);
negativeController *= -1;
denominator += 2;
doneTermCounter++;
}
if (doneTermCounter >= 10000)
cout << doneTermCounter << " " << pi << endl;
else
if (doneTermCounter >= 1000)
cout << doneTermCounter << " " << pi << endl;
else
cout << doneTermCounter << " " << pi << endl;
}
return 0.0;
}
};
int main()
{
Four f;
f.question4();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2luY2x1ZGUgPGNtYXRoPgojaW5jbHVkZSA8aW9tYW5pcD4KCmNsYXNzIEZvdXIKewpwcml2YXRlOgogICAgaW50IGlucHV0ZWRBY2N1cmFjeTsKICAgIGRvdWJsZSBwaTsKICAgIGRvdWJsZSBkZW5vbWluYXRvcjsKICAgIGludCBkb25lVGVybUNvdW50ZXI7CiAgICBkb3VibGUgb25lVGVybTsKICAgIGludCBuZWdhdGl2ZUNvbnRyb2xsZXI7CgpwdWJsaWM6CiAgICBkb3VibGUgcXVlc3Rpb240KCkKICAgIHsKICAgICAgICBjb3V0IDw8ICJBY2N1cmFjeSBzZXQgYXQgOiAiIDsKICAgICAgICBjaW4gPj4gaW5wdXRlZEFjY3VyYWN5OwogICAgICAgIGNvdXQgPDwgZW5kbDsKICAgICAgICBwaSA9IDAuMDsKICAgICAgICBkZW5vbWluYXRvciA9IDEuMDsKICAgICAgICBkb25lVGVybUNvdW50ZXIgPSAwOwoKICAgICAgICBuZWdhdGl2ZUNvbnRyb2xsZXIgPSAxOwogICAgICAgIGNvdXQgPDwgIlRlcm0iIDw8ICIgICAgICAgICAgICAiIDw8ICJwaSIgPDwgZW5kbDsKICAgICAgICBjb3V0IDw8ICIxICAiIDw8ICIgICAgICAgICAgICAgIiA8PCAiNCIgPDwgZW5kbDsKCgogICAgICAgIGZvciAoaW5wdXRlZEFjY3VyYWN5OyBpbnB1dGVkQWNjdXJhY3kgPiAwOyBpbnB1dGVkQWNjdXJhY3kgLT0gMTAwKQogICAgICAgIHsKICAgICAgICAgICAgZm9yIChpbnQgZG9uZVRlcm0gPSAwOyBkb25lVGVybSA8IDEwMDsgZG9uZVRlcm0rKykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgcGkgPSBwaSArIChuZWdhdGl2ZUNvbnRyb2xsZXIgKiA0IC8gZGVub21pbmF0b3IpOwogICAgICAgICAgICAgICAgbmVnYXRpdmVDb250cm9sbGVyICo9IC0xOwogICAgICAgICAgICAgICAgZGVub21pbmF0b3IgKz0gMjsKICAgICAgICAgICAgICAgIGRvbmVUZXJtQ291bnRlcisrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChkb25lVGVybUNvdW50ZXIgPj0gMTAwMDApCiAgICAgICAgICAgICAgICBjb3V0IDw8IGRvbmVUZXJtQ291bnRlciA8PCAiICAgICAgICAgICAgICIgPDwgcGkgPDwgZW5kbDsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgaWYgKGRvbmVUZXJtQ291bnRlciA+PSAxMDAwKQogICAgICAgICAgICAgICAgICAgIGNvdXQgPDwgZG9uZVRlcm1Db3VudGVyIDw8ICIgICAgICAgICAgICAiIDw8IHBpIDw8IGVuZGw7CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgY291dCA8PCBkb25lVGVybUNvdW50ZXIgPDwgIiAgICAgICAgICAgICAiIDw8IHBpIDw8IGVuZGw7CiAgICAgICAgfQogICAgICAgIHJldHVybiAwLjA7CiAgICB9Cn07CgppbnQgbWFpbigpCnsKRm91ciBmOwoKZi5xdWVzdGlvbjQoKTsKCn0=