Data update
This commit is contained in:
parent
81fd053722
commit
52a6ef48dd
10248 changed files with 63654 additions and 6775 deletions
|
|
@ -4,24 +4,24 @@
|
|||
#include <iostream>
|
||||
#include <vector>
|
||||
|
||||
bool is_prime_type_3(const int32_t number) {
|
||||
bool is_prime_type_3(const uint32_t& number) {
|
||||
if ( number < 2 ) return false;
|
||||
if ( number % 2 == 0 ) return false;
|
||||
if ( number % 3 == 0 ) return number == 3;
|
||||
|
||||
for ( int divisor = 5; divisor * divisor <= number; divisor += 2 ) {
|
||||
for ( uint32_t divisor = 5; divisor * divisor <= number; divisor += 2 ) {
|
||||
if ( number % divisor == 0 ) { return false; }
|
||||
}
|
||||
|
||||
return number % 4 == 3;
|
||||
}
|
||||
|
||||
int32_t least_prime_factor(const int32_t number) {
|
||||
uint32_t least_prime_factor(const uint32_t& number) {
|
||||
if ( number == 1 ) { return 1; }
|
||||
if ( number % 3 == 0 ) { return 3; }
|
||||
if ( number % 5 == 0 ) { return 5; }
|
||||
|
||||
for ( int divisor = 7; divisor * divisor <= number; divisor += 2 ) {
|
||||
for ( uint32_t divisor = 7; divisor * divisor <= number; divisor += 2 ) {
|
||||
if ( number % divisor == 0 ) { return divisor; }
|
||||
}
|
||||
|
||||
|
|
@ -29,15 +29,15 @@ int32_t least_prime_factor(const int32_t number) {
|
|||
}
|
||||
|
||||
int main() {
|
||||
int32_t blums[50];
|
||||
int32_t blum_count = 0;
|
||||
int32_t last_digit_counts[10] = {};
|
||||
int32_t number = 1;
|
||||
uint32_t blums[50];
|
||||
uint32_t blum_count = 0;
|
||||
uint32_t last_digit_counts[10] = {};
|
||||
uint32_t number = 1;
|
||||
|
||||
while ( blum_count < 400'000 ) {
|
||||
const int32_t prime = least_prime_factor(number);
|
||||
const uint32_t prime = least_prime_factor(number);
|
||||
if ( prime % 4 == 3 ) {
|
||||
const int32_t quotient = number / prime;
|
||||
const uint32_t quotient = number / prime;
|
||||
if ( quotient != prime && is_prime_type_3(quotient) ) {
|
||||
if ( blum_count < 50 ) {
|
||||
blums[blum_count] = number;
|
||||
|
|
@ -46,7 +46,7 @@ int main() {
|
|||
blum_count += 1;
|
||||
if ( blum_count == 50 ) {
|
||||
std::cout << "The first 50 Blum integers:" << std::endl;
|
||||
for ( int32_t i = 0; i < 50; ++i ) {
|
||||
for ( uint32_t i = 0; i < 50; ++i ) {
|
||||
std::cout << std::setw(3) << blums[i] << ( ( i % 10 == 9 ) ? "\n" : " " );
|
||||
}
|
||||
std::cout << std::endl;
|
||||
|
|
@ -54,7 +54,8 @@ int main() {
|
|||
std::cout << "The " << std::setw(6) << blum_count << "th Blum integer is: "
|
||||
<< std::setw(7) << number << std::endl;
|
||||
if ( blum_count == 400'000 ) {
|
||||
std::cout << "\nPercent distribution of the first 400000 Blum integers:" << std::endl;
|
||||
std::cout << "\n" << "Percent distribution of the first 400000 Blum integers:"
|
||||
<< std::endl;
|
||||
for ( const int32_t& i : { 1, 3, 7, 9 } ) {
|
||||
std::cout << " " << std::setw(6) << std::setprecision(5)
|
||||
<< (double) last_digit_counts[i] / 4'000 << "% end in " << i << std::endl;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue