Largest difference between adjacent primes: Difference between revisions
Content added Content deleted
(Realize in F#) |
(Added C++ solution) |
||
Line 91: | Line 91: | ||
}</lang> |
}</lang> |
||
{{out}}<pre>The largest difference was 114, between 492113 and 492227.</pre> |
{{out}}<pre>The largest difference was 114, between 492113 and 492227.</pre> |
||
=={{header|C++}}== |
|||
{{libheader|Primesieve}} |
|||
<lang cpp>#include <iostream> |
|||
#include <locale> |
|||
#include <primesieve.hpp> |
|||
int main() { |
|||
std::cout.imbue(std::locale("")); |
|||
const uint64_t limit = 10000000000; |
|||
uint64_t max_diff = 0; |
|||
primesieve::iterator pi; |
|||
uint64_t p1 = pi.next_prime(); |
|||
for (uint64_t p = 10;;) { |
|||
uint64_t p2 = pi.next_prime(); |
|||
if (p2 >= p) { |
|||
std::cout << "Largest gap between primes under " << p << " is " |
|||
<< max_diff << ".\n"; |
|||
if (p == limit) |
|||
break; |
|||
p *= 10; |
|||
} |
|||
if (p2 - p1 > max_diff) |
|||
max_diff = p2 - p1; |
|||
p1 = p2; |
|||
} |
|||
}</lang> |
|||
{{out}} |
|||
<pre> |
|||
Largest gap between primes under 10 is 2. |
|||
Largest gap between primes under 100 is 8. |
|||
Largest gap between primes under 1,000 is 20. |
|||
Largest gap between primes under 10,000 is 36. |
|||
Largest gap between primes under 100,000 is 72. |
|||
Largest gap between primes under 1,000,000 is 114. |
|||
Largest gap between primes under 10,000,000 is 154. |
|||
Largest gap between primes under 100,000,000 is 220. |
|||
Largest gap between primes under 1,000,000,000 is 282. |
|||
Largest gap between primes under 10,000,000,000 is 354. |
|||
</pre> |
|||
=={{header|F_Sharp|F#}}== |
=={{header|F_Sharp|F#}}== |