Задача
На площадь выводят N человек, приговоренных к смерти, каждому из которым присвоен уникальный номер от 1 до N. Их расставляют по кругу по часовой стрелке по порядку. Казнь производится следующим образом: отсчитывают M человек, начиная с человека, стоящего после только что казненного, и этого M-го человека уводят на казнь. В начале казни отчет ведется от человека с номером 1. Узнать, человека с каким номером казнят K-м?
С клавиатуры вводятся числа: N, M, K
1<=N<=30000
1<=M<=30000
1<=K<=N
Я тут написал вроде, но не уверен. Посмотрите и подправьте если чего не так:
:low:
var
n, m, k, dop_per: integer;
begin
clrscr;
TextColor(white);
write('N: '); readln(n);
write('M: '); readln(m);
write('K: '); readln(k);
dop_per:=m*k;
repeat
if dop_per>n then begin
dop_per:=dop_per-n;
end;
until dop_per<=n;
write(dop_per);
readln;
end.
Ну, чего никто ничего не говорит? Жду. А то в понедельник показать надо
EXE
Подождать еще пару часов можешь? Заканчиваю отладку. Твоя версия работает неправильно...
volvo
черт, я не тот исходник выложил. Только щас заметил. Ну ладно подожду твоей версии
EXE
:nono: Нет уж, выкладывай свою... А потом сравнишь с моей.
EXE
Ясно, исходника у тебя никакого нет... Разбираться в приведенной программе будешь сам.
Вообще-то я в форуме не круглосуточно сижу! <_<
Я сейчас на первом курсе и мне тоже задали эту задачку, но как её исправить, чтобы он считывал n m и k??? поскажите, а тоя попробывала а он мне пишет что так нельзя помогите пожалуйста!!
убераешь их из раздела CONST, добавляешь var n,m,k : integer; и вводишь в основном блоке программы ...
А т ы попробуй и увидишь, что он пишет!!!!
Да .. придется перекроить прогу или использовать константы, потому что они используются в описании типов ... извиняюсь, не заметил сначала.
K Y S K A, а ты скажи, что он тебе пишет, почему кто-то должен пробовать... Вот у меня например все нормально отрабатывает !!!
klem4, и ЭТО говоришь ты, модератор раздела ??? !!!
" Cannot evalute this expresion" вот что он мне пишет, показывая на 10 строчку!
K Y S K A,
первые строки программы меняются вот так:
Const
n: integer = 11;
m: integer = 7;
k: integer = 3;
Const
liRange = SizeOf(LongInt) * 8;
Type
TBigReg =
Array[1 .. 100] Of LongInt;
хм Volvo... а как интересно компилятор пойемт вот это :
TBigReg =
Array[1 .. (n div liRange) + Byte((n mod liRange) > 0)] Of LongInt;
onst
n_max = 11;
m_max = 7;
k_max = 3;
Const
liRange = SizeOf(LongInt) * 8;
Type
TBigReg =
Array[1 .. (n_max div liRange) + Byte((n_max mod liRange) > 0)] Of LongInt;
var n,m,k : integer;
.......................
read(n,m,k);