32 lines
789 B
Java
32 lines
789 B
Java
public final class PancakeNumbersApproximation {
|
|
|
|
public static void main(String[] args) {
|
|
for ( int i = 0; i < 4; i++ ) {
|
|
for ( int j = 1; j < 6; j++ ) {
|
|
final int n = 5 * i + j;
|
|
System.out.print(String.format("%s%2d%s%d%s", "p(", n, ") = ", pancake(n), "\t"));
|
|
}
|
|
System.out.println();
|
|
}
|
|
}
|
|
|
|
private static int pancake(int number) {
|
|
int gap = 2;
|
|
int previousGap = 1;
|
|
int sumGaps = gap;
|
|
int adjustment = -1;
|
|
|
|
while ( sumGaps < number ) {
|
|
adjustment += 1;
|
|
final int previousGapCopy = previousGap;
|
|
previousGap = gap;
|
|
gap += previousGapCopy;
|
|
sumGaps += gap;
|
|
}
|
|
|
|
number += adjustment;
|
|
return number;
|
|
}
|
|
|
|
}
|