|
zadach251.BAS |
|
{* Задача251 *}REM basic ' Согласно легенде, однажды, разбойники пленили n человек, среди которых' были математик Иосиф Флавий и его друг. Разбойники приказали людям стать' в круг и сказали, что будут убивать каждого k-го пока не останется' всего 2 человека. Флавий провел расчет, и они с другом заняли такие места,' что остались живы. Составьте программу, решающую задачу Иосифа Флавия для' любых n>2 и k>1. Например, для n=4 и k=3 нужно занять 1-ю и 4-ю позицию.CLS
INPUT "Введите число пленников (n) и номер очередного казненного (k) ", n, k
Dim V(n)
For i = 1 To n
V(i) = i
Next i
For i = 1 To n - 2
tmp = 0
Do
First = First + 1
If First > n Then First = 1
If V(First) 0 Then tmp = tmp + 1
If tmp = k Then V(First) = 0: Exit Do
Loop
Next i
For i = 1 To n
If V(i) 0 Then
x = x + 1
If x = 1 Then p1 = i Else p2 = i
End If
Next i
PRINT "Нужно занять места"; p1; "и"; p2
End
|