Лисья Нора

Оглавление


§ Текст программы

pi.png
Реализация на ZX BASIC:
10 DIM Z(255)
20 LET D=0
30 LET P=0
40 LET M=250
50 FOR I=1 TO M
60 LET Z(I)=20
70 NEXT I
80 PRINT "PI=";
90 LET E=D-100*INT(D/100)
100 LET D=0
110 FOR I=1 TO M
120 LET J=M-I
130 LET D=D+D*J+Z(J+1)*100
140 LET A=J+J+1
150 LET Z(J+1)=D-A*INT(D/A)
160 LET D=INT(D/A)
170 NEXT I
180 LET M=M-6
190 LET E=E+INT(D/100)
200 PRINT INT(E/10);
210 IF P=0 THEN PRINT ".";
220 LET P=1
230 PRINT E-10*INT(E/10);
240 IF M>10 THEN GO TO 90

§ Реализация на С

#include <stdio.h>
 
int main()
{
int z[256];
int a, j, d = 0, p = 0, m = 250, e;
for (int i = 1; i <= m; i++) z[i]=20;
printf("PI=");
 
do
{
e = d % 100;
d = 0;
for (int i = 1; i <= m; i++)
{
j = m - i;
d += (d*j + z[j+1]*100);
a = 2*j+1;
z[j+1]= d % a;
d /= a;
}
 
m -= 6;
e += (d / 100);
printf("%d", e/10);
if (p == 0) { printf("."); p = 1; }
printf("%d", e % 10);
 
} while (e > 10);
 
printf("\nPI=3.141592653589793238462643383279502\n");
return 0;
}