home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: Science
/
Science.zip
/
picalcu.zip
/
TROEPFEL.C
< prev
next >
Wrap
Text File
|
2002-09-20
|
730b
|
44 lines
/* Tröpfel-Pi fee of magazine c't 12/96, S.249 */
/* this is a corrected version */
#include <stdio.h>
#include <malloc.h>
#include "noargs.c"
#define ZT 10000ul
#define S 31024/14*14
void main (void)
{
unsigned long d;
unsigned int c, z, n, *f;
if (f = malloc (S * sizeof (unsigned int)))
{
z = S;
do
{
f[--z] = 2000;
} while (z);
for (c = S; c; c -= 14)
{
for (d = 0, z = c; --z; )
{
d *= z + 1;
d += f[z] * ZT;
n = (z << 1) + 1;
f[z] = d % n;
d = d / n;
}
printf ("%04d", d / ZT + f[0]);
f[0] = d % ZT;
}
printf ("%01d", f[0] / 1000);
free (f);
}
}