Data Update
This commit is contained in:
parent
e50b5c3114
commit
633b36288a
206 changed files with 4762 additions and 965 deletions
48
Task/Descending-primes/Java/descending-primes.java
Normal file
48
Task/Descending-primes/Java/descending-primes.java
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public final class DescendingPrimes {
|
||||
|
||||
public static void main(String[] aArgs) {
|
||||
List<Integer> allNumbersStrictlyDescendingDigits = new ArrayList<Integer>(512);
|
||||
for ( int i = 0; i < 512; i++ ) {
|
||||
int number = 0;
|
||||
int temp = i;
|
||||
int digit = 9;
|
||||
while ( temp > 0 ) {
|
||||
if ( temp % 2 == 1 ) {
|
||||
number = number * 10 + digit;
|
||||
}
|
||||
temp >>= 1;
|
||||
digit -= 1;
|
||||
}
|
||||
allNumbersStrictlyDescendingDigits.add(number);
|
||||
}
|
||||
|
||||
Collections.sort(allNumbersStrictlyDescendingDigits);
|
||||
|
||||
int count = 0;
|
||||
for ( int number : allNumbersStrictlyDescendingDigits ) {
|
||||
if ( isPrime(number) ) {
|
||||
System.out.print(String.format("%9d%s", number, ( ++count % 10 == 0 ? "\n" : " " )));
|
||||
}
|
||||
}
|
||||
System.out.println(System.lineSeparator());
|
||||
System.out.println("There are " + count + " descending primes.");
|
||||
}
|
||||
|
||||
private static boolean isPrime(int aNumber) {
|
||||
if ( aNumber < 2 || ( aNumber % 2 ) == 0 ) {
|
||||
return aNumber == 2;
|
||||
}
|
||||
|
||||
for ( int divisor = 3; divisor * divisor <= aNumber; divisor += 2 ) {
|
||||
if ( aNumber % divisor == 0 ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue