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}}==
Translated from 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|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}}==
511

edits