Long stairs: Difference between revisions
Content added Content deleted
m (→{{header|Free Pascal}}: changed to run with gpc 20070904 on ideone https://ideone.com/WlzNjU) |
|||
Line 258: | Line 258: | ||
2938.387 average needed seconds</pre> |
2938.387 average needed seconds</pre> |
||
=={{header|Phix}}== |
|||
<!--<lang Phix>(phixonline)--> |
|||
<span style="color: #008080;">with</span> <span style="color: #008080;">javascript_semantics</span> <span style="color: #000080;font-style:italic;">-- (nb expect blank sccreen for ~30s)</span> |
|||
<span style="color: #004080;">integer</span> <span style="color: #000000;">total_seconds</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">0</span><span style="color: #0000FF;">,</span> |
|||
<span style="color: #000000;">total_steps</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">0</span> |
|||
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"time behind ahead\n"</span><span style="color: #0000FF;">)</span> |
|||
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"---- ------ -----\n"</span><span style="color: #0000FF;">)</span> |
|||
<span style="color: #008080;">for</span> <span style="color: #000000;">trial</span><span style="color: #0000FF;">=</span><span style="color: #000000;">1</span> <span style="color: #008080;">to</span> <span style="color: #000000;">10_000</span> <span style="color: #008080;">do</span> |
|||
<span style="color: #004080;">integer</span> <span style="color: #000000;">stairs_length</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">100</span><span style="color: #0000FF;">,</span> |
|||
<span style="color: #000000;">steps_behind</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">0</span><span style="color: #0000FF;">,</span> |
|||
<span style="color: #000000;">seconds</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">0</span> |
|||
<span style="color: #008080;">while</span> <span style="color: #000000;">steps_behind</span> <span style="color: #0000FF;"><</span> <span style="color: #000000;">stairs_length</span> <span style="color: #008080;">do</span> |
|||
<span style="color: #000000;">steps_behind</span> <span style="color: #0000FF;">+=</span> <span style="color: #000000;">1</span> |
|||
<span style="color: #008080;">for</span> <span style="color: #000000;">wizard</span><span style="color: #0000FF;">=</span><span style="color: #000000;">1</span> <span style="color: #008080;">to</span> <span style="color: #000000;">5</span> <span style="color: #008080;">do</span> |
|||
<span style="color: #000000;">steps_behind</span> <span style="color: #0000FF;">+=</span> <span style="color: #0000FF;">(</span><span style="color: #7060A8;">rnd</span><span style="color: #0000FF;">()*</span><span style="color: #000000;">stairs_length</span> <span style="color: #0000FF;"><</span> <span style="color: #000000;">steps_behind</span><span style="color: #0000FF;">)</span> |
|||
<span style="color: #000000;">stairs_length</span> <span style="color: #0000FF;">+=</span> <span style="color: #000000;">1</span> |
|||
<span style="color: #008080;">end</span> <span style="color: #008080;">for</span> |
|||
<span style="color: #000000;">seconds</span> <span style="color: #0000FF;">+=</span> <span style="color: #000000;">1</span> |
|||
<span style="color: #008080;">if</span> <span style="color: #000000;">trial</span><span style="color: #0000FF;">=</span><span style="color: #000000;">1</span> <span style="color: #008080;">and</span> <span style="color: #000000;">seconds</span><span style="color: #0000FF;">>=</span><span style="color: #000000;">600</span> <span style="color: #008080;">and</span> <span style="color: #000000;">seconds</span><span style="color: #0000FF;"><=</span><span style="color: #000000;">609</span> <span style="color: #008080;">then</span> |
|||
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"%4d %7d %6d\n"</span><span style="color: #0000FF;">,</span> <span style="color: #0000FF;">{</span><span style="color: #000000;">seconds</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">steps_behind</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">stairs_length</span><span style="color: #0000FF;">-</span><span style="color: #000000;">steps_behind</span><span style="color: #0000FF;">})</span> |
|||
<span style="color: #008080;">end</span> <span style="color: #008080;">if</span> |
|||
<span style="color: #008080;">end</span> <span style="color: #008080;">while</span> |
|||
<span style="color: #000000;">total_seconds</span> <span style="color: #0000FF;">+=</span> <span style="color: #000000;">seconds</span> |
|||
<span style="color: #000000;">total_steps</span> <span style="color: #0000FF;">+=</span> <span style="color: #000000;">stairs_length</span> |
|||
<span style="color: #008080;">if</span> <span style="color: #000000;">trial</span><span style="color: #0000FF;">=</span><span style="color: #000000;">1</span> <span style="color: #008080;">then</span> <span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"\n"</span><span style="color: #0000FF;">)</span> <span style="color: #008080;">end</span> <span style="color: #008080;">if</span> |
|||
<span style="color: #008080;">end</span> <span style="color: #008080;">for</span> |
|||
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"Average seconds: %f, average steps: %f\n"</span><span style="color: #0000FF;">,</span> |
|||
<span style="color: #0000FF;">{</span><span style="color: #000000;">total_seconds</span><span style="color: #0000FF;">/</span><span style="color: #000000;">10000</span><span style="color: #0000FF;">,</span><span style="color: #000000;">total_steps</span><span style="color: #0000FF;">/</span><span style="color: #000000;">10000</span><span style="color: #0000FF;">})</span> |
|||
<!--</lang>--> |
|||
{{out}} |
|||
<pre> |
|||
time behind ahead |
|||
---- ------ ----- |
|||
600 1978 1122 |
|||
601 1980 1125 |
|||
602 1986 1124 |
|||
603 1990 1125 |
|||
604 1995 1125 |
|||
605 1999 1126 |
|||
606 2002 1128 |
|||
607 2004 1131 |
|||
608 2008 1132 |
|||
609 2012 1133 |
|||
Average seconds: 2913.609300, average steps: 14668.046500 |
|||
</pre> |
|||
=={{header|Raku}}== |
=={{header|Raku}}== |