Find prime numbers of the form n*n*n+2: Difference between revisions
Content added Content deleted
(Added Swift solution) |
(Added C++ solution) |
||
Line 175: | Line 175: | ||
n = 173 => n³ + 2 = 5,177,719 |
n = 173 => n³ + 2 = 5,177,719 |
||
n = 189 => n³ + 2 = 6,751,271 |
n = 189 => n³ + 2 = 6,751,271 |
||
</pre> |
|||
=={{header|C++}}== |
|||
<lang cpp>#include <iomanip> |
|||
#include <iostream> |
|||
bool is_prime(unsigned int n) { |
|||
if (n < 2) |
|||
return false; |
|||
if (n % 2 == 0) |
|||
return n == 2; |
|||
if (n % 3 == 0) |
|||
return n == 3; |
|||
for (unsigned int p = 5; p * p <= n; p += 4) { |
|||
if (n % p == 0) |
|||
return false; |
|||
p += 2; |
|||
if (n % p == 0) |
|||
return false; |
|||
} |
|||
return true; |
|||
} |
|||
int main() { |
|||
for (unsigned int n = 1; n < 200; n += 2) { |
|||
auto p = n * n * n + 2; |
|||
if (is_prime(p)) |
|||
std::cout << std::setw(3) << n << std::setw(9) << p << '\n'; |
|||
} |
|||
}</lang> |
|||
{{out}} |
|||
<pre> |
|||
1 3 |
|||
3 29 |
|||
5 127 |
|||
29 24391 |
|||
45 91127 |
|||
63 250049 |
|||
65 274627 |
|||
69 328511 |
|||
71 357913 |
|||
83 571789 |
|||
105 1157627 |
|||
113 1442899 |
|||
123 1860869 |
|||
129 2146691 |
|||
143 2924209 |
|||
153 3581579 |
|||
171 5000213 |
|||
173 5177719 |
|||
189 6751271 |
|||
</pre> |
</pre> |
||