From 9e28e4c7b67c54229df11d355047ac8a88ea1817 Mon Sep 17 00:00:00 2001 From: Nguyễn Gia Phong Date: Sun, 15 Dec 2019 15:09:13 +0700 Subject: Normalize pathname --- NTU/pi.c | 53 ----------------------------------------------------- 1 file changed, 53 deletions(-) delete mode 100644 NTU/pi.c (limited to 'NTU/pi.c') diff --git a/NTU/pi.c b/NTU/pi.c deleted file mode 100644 index 0dc8a1e..0000000 --- a/NTU/pi.c +++ /dev/null @@ -1,53 +0,0 @@ -#include -#include -#include - -int main() -{ - long i, j; - char prime[44712] = {0, 0, [2 ... 44711] = 1}; - for (i = 2; i < 212; i++) - if (prime[i]) - for (j = i * i; j < 44712; j += i) - prime[j] = 0; - - - long primes[4648]; - j = 0; - for (i = 0; i < 44712; i++) - if (prime[i]) - primes[j++] = i; - - long l, r; - scanf("%ld %ld", &l, &r); - - long imax = (long) sqrt(r); - for (i = 0; i < 4648; i++) - if (primes[i] > imax) { - imax = i; - break; - } - - r -= l - 1; - long *list = malloc(r * 4); - for (i = 0; i < r; i++) - list[i] = 1; - - long prime0, l0; - for (i = 0; i < imax; i++) { - prime0 = primes[i]; - l0 = (l % prime0) ? (prime0 - (l % prime0)) : 0; - l0 = (l + l0 > prime0 * prime0) ? l0 : (prime0 * prime0 - l); - for (j = l0; j < r; j += prime0) - list[j] = 0; - } - - long val = 0; - for (i = 0; i < r; i++) - if (list[i]) - val++; - - printf("%ld\n", val); - - return 0; -} -- cgit 1.4.1