Josephus problem: Difference between revisions
m
ANSI Standard BASIC and BBC BASIC moved to the BASIC section.
m (→iterative: BASIC*11) |
m (ANSI Standard BASIC and BBC BASIC moved to the BASIC section.) |
||
Line 462:
{{out}}
<pre>n = 41, k = 3, final survivor: 30</pre>
=={{header|ANSI Standard BASIC}}==▼
<syntaxhighlight lang="ansi standard basic">100 FUNCTION josephus (n, k, m)▼
110 ! Return m-th on the reversed kill list; m=0 is final survivor.▼
120 LET lm = m ! Local copy OF m▼
130 FOR a = m+1 TO n ▼
140 LET lm = MOD(lm+k, a) ▼
150 NEXT a▼
160 LET josephus = lm▼
170 END FUNCTION▼
180 LET n = 41▼
190 LET k=3▼
200 PRINT "n =";n, "k =";k,"final survivor =";josephus(n, k, 0)▼
210 END▼
</syntaxhighlight>▼
=={{header|AppleScript}}==
Line 1,041 ⟶ 1,025:
{{out}}
<pre>Survivor is number 30</pre>
▲==={{header|ANSI Standard BASIC}}===
{{trans|ALGOL 68}}
▲<syntaxhighlight lang="ansi standard basic">100 FUNCTION josephus (n, k, m)
▲110 ! Return m-th on the reversed kill list; m=0 is final survivor.
▲120 LET lm = m ! Local copy OF m
▲130 FOR a = m+1 TO n
▲140 LET lm = MOD(lm+k, a)
▲150 NEXT a
▲160 LET josephus = lm
▲170 END FUNCTION
▲180 LET n = 41
▲190 LET k=3
▲200 PRINT "n =";n, "k =";k,"final survivor =";josephus(n, k, 0)
▲210 END
▲</syntaxhighlight>
==={{header|Applesoft BASIC}}===
Line 1,071:
{{out}}
<pre>Same as FreeBASIC entry.</pre>
==={{header|BBC BASIC}}===▼
<syntaxhighlight lang="bbcbasic">REM >josephus▼
PRINT "Survivor is number "; FNjosephus(41, 3, 0)▼
END▼
:▼
DEF FNjosephus(n%, k%, m%)▼
LOCAL i%▼
FOR i% = m% + 1 TO n%▼
m% = (m% + k%) MOD i%▼
NEXT▼
= m%</syntaxhighlight>▼
{{out}}▼
<pre>Survivor is number 30</pre>▼
==={{header|Chipmunk Basic}}===
Line 1,279 ⟶ 1,293:
Press any key to continue . . .</pre>
▲=={{header|BBC BASIC}}==
▲<syntaxhighlight lang="bbcbasic">REM >josephus
▲PRINT "Survivor is number "; FNjosephus(41, 3, 0)
▲END
▲:
▲DEF FNjosephus(n%, k%, m%)
▲LOCAL i%
▲FOR i% = m% + 1 TO n%
▲ m% = (m% + k%) MOD i%
▲NEXT
▲= m%</syntaxhighlight>
▲{{out}}
▲<pre>Survivor is number 30</pre>
=={{header|Befunge}}==
|