Ultra useful primes: Difference between revisions

Added C
(Added C)
Line 79:
9 | 569
10 | 105</pre>
 
=={{header|C}}==
{{trans|Wren}}
{{libheader|GMP}}
<syntaxhighlight lang="c">#include <stdio.h>
#include <gmp.h>
 
int a(unsigned int n) {
int k;
mpz_t p;
mpz_init_set_ui(p, 1);
mpz_mul_2exp(p, p, 1 << n);
mpz_sub_ui(p, p, 1);
for (k = 1; ; k += 2) {
if (mpz_probab_prime_p(p, 15) > 0) return k;
mpz_sub_ui(p, p, 2);
}
}
 
int main() {
unsigned int n;
printf(" n k\n");
printf("----------\n");
for (n = 1; n < 15; ++n) printf("%2d %d\n", n, a(n));
return 0;
}</syntaxhighlight>
 
{{out}}
<pre>
n k
----------
1 1
2 3
3 5
4 15
5 5
6 59
7 159
8 189
9 569
10 105
11 1557
12 2549
13 2439
14 13797
</pre>
 
=={{header|Factor}}==
9,476

edits