Pancake numbers: Difference between revisions
Content added Content deleted
Line 160: | Line 160: | ||
{{out}} |
{{out}} |
||
<pre>p( 1) = 0 p( 2) = 1 p( 3) = 3 p( 4) = 4 p( 5) = 5 |
|||
p( 6) = 7 p( 7) = 8 p( 8) = 9 p( 9) = 10 p(10) = 11 |
|||
p(11) = 13 p(12) = 14 p(13) = 15 p(14) = 16 p(15) = 17 |
|||
p(16) = 18 p(17) = 19 p(18) = 20 p(19) = 21 p(20) = 23</pre> |
|||
=={{header|D}}== |
|||
{{trans|C}} |
|||
<lang d>import std.stdio; |
|||
int pancake(int n) { |
|||
int gap = 2, sum = 2, adj = -1; |
|||
while (sum < n) { |
|||
adj++; |
|||
gap = 2 * gap - 1; |
|||
sum += gap; |
|||
} |
|||
return n + adj; |
|||
} |
|||
void main() { |
|||
foreach (i; 0..4) { |
|||
foreach (j; 1..6) { |
|||
int n = 5 * i + j; |
|||
writef("p(%2d) = %2d ", n, pancake(n)); |
|||
} |
|||
writeln; |
|||
} |
|||
}</lang> |
|||
{{out}} |
|||
<pre>p( 1) = 0 p( 2) = 1 p( 3) = 3 p( 4) = 4 p( 5) = 5 |
<pre>p( 1) = 0 p( 2) = 1 p( 3) = 3 p( 4) = 4 p( 5) = 5 |
||
p( 6) = 7 p( 7) = 8 p( 8) = 9 p( 9) = 10 p(10) = 11 |
p( 6) = 7 p( 7) = 8 p( 8) = 9 p( 9) = 10 p(10) = 11 |