#include #include #include using namespace std; double Round(double chislo, int n) { double result; __int64 iChislo; double drob; int k=0; if (chislo<0) k=-1; else k=1; iChislo = (__int64) chislo; drob = chislo - iChislo; result=((__int64) (drob*pow(10.0,n)+k*0.5))/pow(10.0,n); result = iChislo + result; return result; } double Cut( double value,int m) { int n=0; double temp=abs(value); while (temp>=1) { temp=temp/10; n++; } value=Round(value,abs(m-n)); return value; } double Sum( double num,int n,int m) { double temp=0; double tmp=0; for (int i=1;i<=n;i++) { tmp=pow(num,i+1); tmp=Cut(tmp,m); for (int j=2;j<=i;j++) { tmp=tmp/j; tmp=Cut(tmp,m); } temp+=tmp; } return temp; } double DeltaPogr (double x,int n,int m) { double temp=0; double an=0; an=pow(x,n+1); an=Cut(an,m); for (int j=2;j<=n;j++) { an=an/j; an=Cut(an,m); } temp=abs(an/Sum(x,n,m)); temp=Cut(temp,m); return temp; } void main() { double num=0; double res=0; double x1,x2; int m=0; x1=-2.3; x2=-17; for (int i=10;i<=25;i++) { res=DeltaPogr(x1,24,i); cout << setprecision (25) << res << endl; } }