Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,55 @@
|
|||
// [dependencies]
|
||||
// primal = "0.3"
|
||||
|
||||
fn main() {
|
||||
use std::collections::HashMap;
|
||||
|
||||
let mut primes = primal::Primes::all();
|
||||
let mut last_prime = primes.next().unwrap();
|
||||
let mut gap_starts = HashMap::new();
|
||||
|
||||
let mut find_gap_start = move |gap: usize| -> usize {
|
||||
if let Some(start) = gap_starts.get(&gap) {
|
||||
return *start;
|
||||
}
|
||||
loop {
|
||||
let prev = last_prime;
|
||||
last_prime = primes.next().unwrap();
|
||||
let diff = last_prime - prev;
|
||||
if !gap_starts.contains_key(&diff) {
|
||||
gap_starts.insert(diff, prev);
|
||||
}
|
||||
if gap == diff {
|
||||
return prev;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
let limit = 100000000000;
|
||||
|
||||
let mut pm = 10;
|
||||
let mut gap1 = 2;
|
||||
loop {
|
||||
let start1 = find_gap_start(gap1);
|
||||
let gap2 = gap1 + 2;
|
||||
let start2 = find_gap_start(gap2);
|
||||
let diff = if start2 > start1 {
|
||||
start2 - start1
|
||||
} else {
|
||||
start1 - start2
|
||||
};
|
||||
if diff > pm {
|
||||
println!(
|
||||
"Earliest difference > {} between adjacent prime gap starting primes:\n\
|
||||
Gap {} starts at {}, gap {} starts at {}, difference is {}.\n",
|
||||
pm, gap1, start1, gap2, start2, diff
|
||||
);
|
||||
if pm == limit {
|
||||
break;
|
||||
}
|
||||
pm *= 10;
|
||||
} else {
|
||||
gap1 = gap2;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue