RosettaCodeData/Task/Loops-Increment-loop-index-within-loop-body/C/loops-increment-loop-index-within-loop-body.c
2023-07-01 13:44:08 -04:00

30 lines
583 B
C

#include <stdio.h>
#include <locale.h>
#define LIMIT 42
int is_prime(long long n) {
if (n % 2 == 0) return n == 2;
if (n % 3 == 0) return n == 3;
long long d = 5;
while (d * d <= n) {
if (n % d == 0) return 0;
d += 2;
if (n % d == 0) return 0;
d += 4;
}
return 1;
}
int main() {
long long i;
int n;
setlocale(LC_NUMERIC, "");
for (i = LIMIT, n = 0; n < LIMIT; i++)
if (is_prime(i)) {
n++;
printf("n = %-2d %'19lld\n", n, i);
i += i - 1;
}
return 0;
}