Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
43
Task/Motzkin-numbers/Java/motzkin-numbers.java
Normal file
43
Task/Motzkin-numbers/Java/motzkin-numbers.java
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
import java.math.BigInteger;
|
||||
import java.text.NumberFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
public final class MotzkinNumbers {
|
||||
|
||||
public static void main(String[] aArgs) {
|
||||
final int count = 42;
|
||||
List<BigInteger> motzkins = motzkinNumbers(count);
|
||||
|
||||
NumberFormat ukNumberFormat = NumberFormat.getInstance(Locale.UK);
|
||||
|
||||
System.out.println(" n Motzkin[n]");
|
||||
System.out.println("-----------------------------");
|
||||
|
||||
for ( int n = 0; n < count; n++ ) {
|
||||
BigInteger motzkin = motzkins.get(n);
|
||||
boolean prime = motzkin.isProbablePrime(PROBABILITY);
|
||||
System.out.print(String.format("%2d %23s", n, ukNumberFormat.format(motzkin)));
|
||||
System.out.println( prime ? " prime" : "" );
|
||||
}
|
||||
}
|
||||
|
||||
private static List<BigInteger> motzkinNumbers(int aSize) {
|
||||
List<BigInteger> result = new ArrayList<BigInteger>(aSize);
|
||||
result.add(BigInteger.ONE);
|
||||
result.add(BigInteger.ONE);
|
||||
for ( int i = 2; i < aSize; i++ ) {
|
||||
BigInteger nextMotzkin = result.get(i - 1).multiply(BigInteger.valueOf(2 * i + 1))
|
||||
.add(result.get(i - 2).multiply(BigInteger.valueOf(3 * i - 3)))
|
||||
.divide(BigInteger.valueOf(i + 2));
|
||||
|
||||
result.add(nextMotzkin);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private static final int PROBABILITY = 20;
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue