diff options
Diffstat (limited to 'tests32/test08.c')
| -rwxr-xr-x | tests32/test08.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tests32/test08.c b/tests32/test08.c new file mode 100755 index 00000000..f5f5bce5 --- /dev/null +++ b/tests32/test08.c @@ -0,0 +1,36 @@ +#include <stdio.h> +#include <stdlib.h> + +//from https://crypto.stanford.edu/pbc/notes/pi/code.html +// 800 first decimals of PI + +int main() { + int r[2800 + 1]; + int i, k; + int b, d; + int c = 0; + + for (i = 0; i < 2800; i++) { + r[i] = 2000; + } + + for (k = 2800; k > 0; k -= 14) { + d = 0; + + i = k; + for (;;) { + d += r[i] * 10000; + b = 2 * i - 1; + + r[i] = d % b; + d /= b; + i--; + if (i == 0) break; + d *= i; + } + printf("%.4d", c + d / 10000); + c = d % 10000; + } + + return 0; +} \ No newline at end of file |