kunigaku on Nostr: /run c #include <stdio.h> void calculatePi(int precision) { int carry = 0; int ...
/run c
#include <stdio.h>
void calculatePi(int precision) {
int carry = 0;
int result[precision + 1];
for (int i = 0; i <= precision; ++i) {
result[i] = 2;
}
for (int i = precision; i > 0; i -= 14) {
int sum = 0;
for (int j = i; j > 0; --j) {
sum = sum * j + 10000 * result[j];
result[j] = sum % (j * 2 - 1);
sum /= (j * 2 - 1);
}
printf("%.4d", carry + sum / 10000);
carry = sum % 10000;
}
}
int main() {
calculatePi(5000);
return 0;
}
Published at
2024-01-13 11:38:27Event JSON
{
"id": "b3741d8102b58319e20a0d41bd89d9a4add7c5a2d8ba41190476af3395b14afe",
"pubkey": "1a35b54ef7752af54cacbeedf0f349e320f0a2ee50142883134c3ee31879ce71",
"created_at": 1705142307,
"kind": 1,
"tags": [
[
"t",
"include"
]
],
"content": "/run c\n\n#include \u003cstdio.h\u003e\n\nvoid calculatePi(int precision) {\n int carry = 0;\n int result[precision + 1];\n \n for (int i = 0; i \u003c= precision; ++i) {\n result[i] = 2;\n }\n\n for (int i = precision; i \u003e 0; i -= 14) {\n int sum = 0;\n\n for (int j = i; j \u003e 0; --j) {\n sum = sum * j + 10000 * result[j];\n result[j] = sum % (j * 2 - 1);\n sum /= (j * 2 - 1);\n }\n\n printf(\"%.4d\", carry + sum / 10000);\n carry = sum % 10000;\n }\n}\n\nint main() {\n calculatePi(5000);\n return 0;\n}",
"sig": "9a3b1c9cd4524d38da62307173b7ecf16db7933698d7d90cc4a3cf214cc04dc5322890a044bba32d8c08adcfa5f10f94084ccd280a69d55fed4613e4f1328cd7"
}