Penta-power prime seeds: Difference between revisions

m
→‎{{header|Wren}}: Changed to Wren S/H
No edit summary
m (→‎{{header|Wren}}: Changed to Wren S/H)
 
(2 intermediate revisions by 2 users not shown)
Line 504:
82655 126489 207285 211091 234359 256719 366675 407945 414099 628859
644399 770531 781109 782781 923405 1121189 1158975 1483691 1490475 1512321</syntaxhighlight>
 
=={{header|Java}}==
<syntaxhighlight lang="java">
import java.math.BigInteger;
 
public final class PentaPowerPrimeSeeds {
 
public static void main(String[] args) {
System.out.println("The first 30 penta-power prime seeds:");
int index = 0;
int number = 1;
boolean searching = true;
while ( searching ) {
if ( isPentaPowerPrimeSeed(number) ) {
index += 1;
if ( index <= 30 ) {
System.out.print(String.format("%7d%s", number, ( index % 6 == 0 ? "\n" : " " )));
} else if ( number > 10_000_000 ) {
System.out.println();
System.out.println("The first penta-power prime seed greater than 10,000,000 is "
+ number + " at index " + index);
searching = false;
}
}
number += 2;
}
}
private static boolean isPentaPowerPrimeSeed(long number) {
BigInteger p = BigInteger.ONE;
BigInteger nPlus1 = BigInteger.valueOf(number + 1);
for ( int i = 0; i <= 4; i++ ) {
if ( ! p.add(nPlus1).isProbablePrime(15) ) {
return false;
}
p = p.multiply(BigInteger.valueOf(number));
}
return true;
}
 
}
</syntaxhighlight>
{{ out }}
<pre>
The first 30 penta-power prime seeds:
1 5 69 1665 2129 25739
29631 62321 77685 80535 82655 126489
207285 211091 234359 256719 366675 407945
414099 628859 644399 770531 781109 782781
923405 1121189 1158975 1483691 1490475 1512321
 
The first penta-power prime seed greater than 10,000,000 is 10347035 at index 72
</pre>
 
=={{header|Julia}}==
Line 923 ⟶ 976:
644399 770531 781109 782781 923405 1121189 1158975 1483691 1490475 1512321
</pre>
 
=={{header|Scala}}==
{{trans|Java}}
<syntaxhighlight lang="Scala">
import scala.annotation.tailrec
import java.math.BigInteger
 
object PentaPowerPrimeSeeds extends App {
println("The first 30 penta-power prime seeds:")
val first30 = Stream.from(1, 2).filter(isPentaPowerPrimeSeed).take(30)
first30.zipWithIndex.foreach { case (seed, index) =>
print(f"$seed%7d${if ((index + 1) % 6 == 0) "\n" else " "}")
}
 
val firstAbove10M = Stream.from(1, 2).filter(isPentaPowerPrimeSeed).find(_ > 10000000)
firstAbove10M match {
case Some(seed) => println(s"\nThe first penta-power prime seed greater than 10,000,000 is $seed")
case None => println("No penta-power prime seed greater than 10,000,000 was found.")
}
 
def isPentaPowerPrimeSeed(number: Int): Boolean = {
val bigIntNumber = BigInteger.valueOf(number)
val bigIntNumberPlusOne = bigIntNumber.add(BigInteger.ONE)
(0 to 4).forall { i =>
bigIntNumber.pow(i).add(bigIntNumberPlusOne).isProbablePrime(15)
}
}
}
</syntaxhighlight>
{{out}}
<pre>
The first 30 penta-power prime seeds:
1 5 69 1665 2129 25739
29631 62321 77685 80535 82655 126489
207285 211091 234359 256719 366675 407945
414099 628859 644399 770531 781109 782781
923405 1121189 1158975 1483691 1490475 1512321
 
The first penta-power prime seed greater than 10,000,000 is 10347035
 
</pre>
 
 
 
=={{header|Wren}}==
{{libheader|Wren-gmp}}
{{libheader|Wren-fmt}}
<syntaxhighlight lang="ecmascriptwren">import "./gmp" for Mpz
import "./fmt" for Fmt
 
9,476

edits