#include <iomanip>
#include <cstdlib>
#include <iostream>
#include <cmath>
using namespace std;
int main(void)
{
int i;
long double result;
long double pi;
int y=3;
int loopcount=0;
long double precision = 0;
long double previous = 0;
cout<<"Start\n";
result=1-(pow(1,y)/y);
do
{
y=y+2;
result=result+(pow(1,y)/y);
y=y+2;
result=result-(pow(1,y)/y);
pi=4*(result);
precision=(pi*(pow(10,11))/10);
loopcount++;
if (floor(precision)==floor(previous))
break;
previous = precision;
}
while(true); //This is the problem!);
cout<<"Final Arctan is:"<<endl;
cout<<setprecision(20)<<result<<endl;
cout<<"Final Pi is:"<<endl;
cout<<setprecision(9)<<pi<<endl;
cout<<"Times looped:"<<endl;
cout<<loopcount<<endl;
return 0;
}
I2luY2x1ZGUgPGlvbWFuaXA+CiNpbmNsdWRlIDxjc3RkbGliPgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxjbWF0aD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbih2b2lkKQp7CiAgICBpbnQgaTsKICAgIGxvbmcgZG91YmxlIHJlc3VsdDsKICAgIGxvbmcgZG91YmxlIHBpOwogICAgaW50IHk9MzsKICAgIGludCBsb29wY291bnQ9MDsKICAgIGxvbmcgZG91YmxlIHByZWNpc2lvbiA9IDA7CiAgICBsb25nIGRvdWJsZSBwcmV2aW91cyA9IDA7CgogICAgY291dDw8IlN0YXJ0XG4iOwoKICAgIHJlc3VsdD0xLShwb3coMSx5KS95KTsKCiAgICBkbwogICAgewogICAgICAgIHk9eSsyOwogICAgICAgIHJlc3VsdD1yZXN1bHQrKHBvdygxLHkpL3kpOwogICAgICAgIHk9eSsyOwogICAgICAgIHJlc3VsdD1yZXN1bHQtKHBvdygxLHkpL3kpOwoKICAgICAgICBwaT00KihyZXN1bHQpOwogICAgICAgIHByZWNpc2lvbj0ocGkqKHBvdygxMCwxMSkpLzEwKTsKCiAgICAgICAgbG9vcGNvdW50Kys7CgogICAgICAgIGlmIChmbG9vcihwcmVjaXNpb24pPT1mbG9vcihwcmV2aW91cykpCiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBwcmV2aW91cyA9IHByZWNpc2lvbjsKICAgIH0KICAgIHdoaWxlKHRydWUpOyAvL1RoaXMgaXMgdGhlIHByb2JsZW0hKTsKCiAgICBjb3V0PDwiRmluYWwgQXJjdGFuIGlzOiI8PGVuZGw7CiAgICBjb3V0PDxzZXRwcmVjaXNpb24oMjApPDxyZXN1bHQ8PGVuZGw7CiAgICBjb3V0PDwiRmluYWwgUGkgaXM6Ijw8ZW5kbDsKICAgIGNvdXQ8PHNldHByZWNpc2lvbig5KTw8cGk8PGVuZGw7CiAgICBjb3V0PDwiVGltZXMgbG9vcGVkOiI8PGVuZGw7CiAgICBjb3V0PDxsb29wY291bnQ8PGVuZGw7CgogICAgcmV0dXJuIDA7Cn0K