Find adjacent primes which differ by a square integer: Difference between revisions
Content added Content deleted
No edit summary |
No edit summary |
||
Line 1,098: | Line 1,098: | ||
997877 - 997813 = 64 |
997877 - 997813 = 64 |
||
</pre> |
</pre> |
||
=={{header|Rust}}== |
|||
<syntaxhighlight lang="rust"> |
|||
use prime_tools ; |
|||
fn is_square_number( num : u32 ) -> bool { |
|||
let comp_num : f32 = num as f32 ; |
|||
let root = comp_num.sqrt( ) ; |
|||
return root == root.floor( ) ; |
|||
} |
|||
fn main() { |
|||
let primes: Vec<u32> = prime_tools::get_primes_less_than_x(1000000_u32) ; |
|||
let len = primes.len( ) ; |
|||
let mut i : usize = 0 ; |
|||
while i < len - 1 { |
|||
let diff : u32 = primes[ i + 1 ] - primes[ i ] ; |
|||
if diff > 36 && is_square_number( diff ) { |
|||
println!("{:?} - {:?} = {}" , primes[ i + 1 ] , primes[ i ] , diff) ; |
|||
} |
|||
i += 1 ; |
|||
} |
|||
}</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
89753 - 89689 = 64 |
|||
107441 - 107377 = 64 |
|||
288647 - 288583 = 64 |
|||
368021 - 367957 = 64 |
|||
381167 - 381103 = 64 |
|||
396833 - 396733 = 100 |
|||
400823 - 400759 = 64 |
|||
445427 - 445363 = 64 |
|||
623171 - 623107 = 64 |
|||
625763 - 625699 = 64 |
|||
637067 - 637003 = 64 |
|||
710777 - 710713 = 64 |
|||
725273 - 725209 = 64 |
|||
779477 - 779413 = 64 |
|||
801947 - 801883 = 64 |
|||
803813 - 803749 = 64 |
|||
821741 - 821677 = 64 |
|||
832583 - 832519 = 64 |
|||
838349 - 838249 = 100 |
|||
844841 - 844777 = 64 |
|||
883871 - 883807 = 64 |
|||
912167 - 912103 = 64 |
|||
919511 - 919447 = 64 |
|||
954827 - 954763 = 64 |
|||
981887 - 981823 = 64 |
|||
997877 - 997813 = 64 |
|||
</pre> |
|||
=={{header|Sidef}}== |
=={{header|Sidef}}== |
||
<syntaxhighlight lang="ruby">var p = 2 |
<syntaxhighlight lang="ruby">var p = 2 |