Strong and weak primes: Difference between revisions
Content added Content deleted
m (C++ - made function definitions out of line) |
m (C++ - use ostream_iterator to print list of primes) |
||
Line 305: | Line 305: | ||
=={{header|C++}}== |
=={{header|C++}}== |
||
<lang cpp>#include < |
<lang cpp>#include <algorithm> |
||
#include < |
#include <iostream> |
||
#include <iterator> |
|||
#include <locale> |
#include <locale> |
||
#include < |
#include <vector> |
||
#include "prime_sieve.hpp" |
#include "prime_sieve.hpp" |
||
Line 323: | Line 324: | ||
int count1 = 0; |
int count1 = 0; |
||
int count2 = 0; |
int count2 = 0; |
||
std:: |
std::vector<int> primes; |
||
}; |
}; |
||
Line 330: | Line 331: | ||
if (prime < limit1) |
if (prime < limit1) |
||
++count1; |
++count1; |
||
if (count2 <= max_print) |
if (count2 <= max_print) |
||
primes.push_back(prime); |
|||
⚫ | |||
out << prime; |
|||
} |
|||
} |
} |
||
void prime_info::print(std::ostream& os, const char* name) const { |
void prime_info::print(std::ostream& os, const char* name) const { |
||
os << "First " << max_print << " " << name << " primes: " |
os << "First " << max_print << " " << name << " primes: "; |
||
std::copy(primes.begin(), primes.end(), std::ostream_iterator<int>(os, " ")); |
|||
⚫ | |||
os << "Number of " << name << " primes below " << limit1 << ": " << count1 << '\n'; |
os << "Number of " << name << " primes below " << limit1 << ": " << count1 << '\n'; |
||
os << "Number of " << name << " primes below " << limit2 << ": " << count2 << '\n'; |
os << "Number of " << name << " primes below " << limit2 << ": " << count2 << '\n'; |
||
Line 425: | Line 425: | ||
{{out}} |
{{out}} |
||
<pre> |
<pre> |
||
First 36 strong primes: 11 17 29 37 41 59 67 71 79 97 101 107 127 137 149 163 179 191 197 223 227 239 251 269 277 281 307 311 331 347 367 379 397 419 431 439 |
First 36 strong primes: 11 17 29 37 41 59 67 71 79 97 101 107 127 137 149 163 179 191 197 223 227 239 251 269 277 281 307 311 331 347 367 379 397 419 431 439 |
||
Number of strong primes below 1,000,000: 37,723 |
Number of strong primes below 1,000,000: 37,723 |
||
Number of strong primes below 10,000,000: 320,991 |
Number of strong primes below 10,000,000: 320,991 |
||
First 37 weak primes: 3 7 13 19 23 31 43 47 61 73 83 89 103 109 113 131 139 151 167 181 193 199 229 233 241 271 283 293 313 317 337 349 353 359 383 389 401 |
First 37 weak primes: 3 7 13 19 23 31 43 47 61 73 83 89 103 109 113 131 139 151 167 181 193 199 229 233 241 271 283 293 313 317 337 349 353 359 383 389 401 |
||
Number of weak primes below 1,000,000: 37,780 |
Number of weak primes below 1,000,000: 37,780 |
||
Number of weak primes below 10,000,000: 321,750 |
Number of weak primes below 10,000,000: 321,750 |