|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.04.2009, 16:53 | #1 |
Пользователь
Регистрация: 07.04.2009
Сообщений: 16
|
Помогите с задачкой на массив
Пусть п людей встают в круг и получают номера 1, 2, ..., n, считая по часовой стрелке. Затем, начиная с первого, также по часовой стрелке отсчитывается т-й человек. (Поскольку люди стоят по кругу, то при счёте за п-м следует первый). Этот т-й выходит из круга, после чего, начиная со следующего, снова отсчитывается т-й человек, и так до тех пор, пока из всего круга не останется один человек. По заданным натуральным числам п и m определить:
а) номер оставшегося в кругу человека; б) с какого номера нужно начать счёт, чтобы последним в кругу остался человек с заданным номером k? |
07.04.2009, 19:41 | #2 |
Форумчанин
Регистрация: 12.09.2008
Сообщений: 239
|
наверное можно через динамику, но чет лень думать). Сделал так:
Код:
Надо бы избавиться от привычки ставить многоточие.....
|
07.04.2009, 20:36 | #3 |
Пользователь
Регистрация: 07.04.2009
Сообщений: 16
|
друг не то получается тут записи а мне то нужен массив
|
07.04.2009, 20:38 | #4 |
Форумчанин
Регистрация: 12.09.2008
Сообщений: 239
|
для б) аналогично. просто разину нужно добавить/отнять
Надо бы избавиться от привычки ставить многоточие.....
|
07.04.2009, 20:39 | #5 |
Форумчанин
Регистрация: 12.09.2008
Сообщений: 239
|
мдэ...... можно и массив, только это не рационально получится(((((
Надо бы избавиться от привычки ставить многоточие.....
|
07.04.2009, 20:53 | #6 |
Пользователь
Регистрация: 07.04.2009
Сообщений: 16
|
я вот А сделал а Б немогу
uses crt; var a,b:array[1..100] of integer; g,pred,tek,n,i:integer; begin clrscr; write('‚ўҐ¤ЁвҐ Є®«ЁзҐбвў® н«Ґ¬Ґ*в®ў => '); read(n); write('“Ўа вм Є ¦¤л© н«Ґ¬Ґ*в Ї®Є *Ґ ®бв *Ґвбп ®¤Ё*'); gotoxy(15,2); read(g); randomize; for i:=1 to n do begin a[i]:=random(199)-99; write(a[i]:3); b[i]:=a[i]; end; writeln; for i:=1 to n-1 do a[i]:=i+1; a[n]:=1; tek:=1; while a[tek] <> tek do begin for i:=1 to g-1 do begin pred:=tek; tek:=a[tek]; end; a[pred]:=a[tek]; tek:=a[tek]; end; writeln('*®¬Ґа ®б⠢襣®бп н«Ґ¬Ґ*в Н> ',a[tek]:2,' Ё ҐЈ® §* зҐ*ЁҐ => ',b[tek]:2); readkey; end. |
07.04.2009, 21:03 | #7 |
Форумчанин
Регистрация: 12.09.2008
Сообщений: 239
|
Код:
Надо бы избавиться от привычки ставить многоточие.....
|
07.04.2009, 21:34 | #8 |
Пользователь
Регистрация: 07.04.2009
Сообщений: 16
|
всё кул работает спс огромное!!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите с задачкой | Ser | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 30.03.2009 22:49 |
Помогите с задачкой | Jackiro | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 22.12.2008 08:06 |
Помогите с задачкой((( | Паскалька^^ | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 19.12.2008 19:28 |
Помогите с задачкой одномерный массив | Antowka | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 12.11.2008 23:04 |
Помогите с задачкой | Saniok | Помощь студентам | 4 | 29.09.2007 20:34 |