Babbage problem: Difference between revisions
Content added Content deleted
(→{{header|ALGOL 68}}: Fixed more comments) |
(Added APL) |
||
Line 55: | Line 55: | ||
+25264 when squared is: +638269696 |
+25264 when squared is: +638269696 |
||
</pre> |
</pre> |
||
=={{header|APL}}== |
|||
If at all possible, I would sit down at a terminal <i>with</i> Babbage and invite him to experiment with the various functions used in the program. |
|||
<lang apl> ⍝ We know that 99,736 is a valid answer, so we only need to test the positive integers from 1 up to there: |
|||
N←⍳99736 |
|||
⍝ The SQUARE OF omega is omega times omega: |
|||
SQUAREOF←{⍵×⍵} |
|||
⍝ To say that alpha ENDS IN the six-digit number omega means that alpha divided by 1,000,000 leaves remainder omega: |
|||
ENDSIN←{(1000000|⍺)=⍵} |
|||
⍝ The SMALLEST number WHERE some condition is met is found by taking the first number from a list of attempts, after rearranging the list so that numbers satisfying the condition come before those that fail to satisfy it: |
|||
SMALLESTWHERE←{1↑⍒⍵} |
|||
⍝ We can now ask the computer for the answer: |
|||
SMALLESTWHERE (SQUAREOF N) ENDSIN 269696</lang> |
|||
{{out}} |
|||
<pre>25264</pre> |
|||
=={{header|BBC BASIC}}== |
=={{header|BBC BASIC}}== |