Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / цикл по кругу / 5 сообщений из 5, страница 1 из 1
01.03.2012, 19:10
    #37687009
luffi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
цикл по кругу
По кругу располагаются n человек. Ведущий считает по кругу, начиная с
первого и выводит m человека. Круг сужается, счет восстанавливается со следующего после выведенного; так продолжается пока не останется один человек.
язык програмирование c\c++\pascal\c# без разницы
...
Рейтинг: 0 / 0
01.03.2012, 21:16
    #37687166
eNose
Участник
[не активирован]
[не одобрен]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
цикл по кругу
и?

если вопросов нет, то топик закрою :)
...
Рейтинг: 0 / 0
01.03.2012, 21:20
    #37687169
k0rvin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
цикл по кругу
luffiязык програмирование без разницы
OK
Код: ruby
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
#lang racket

(define (make-people-list n)
  (build-list n (lambda (i) (+ i 1))))

(define (kill m people)
  (let loop ((i m)
             (p people)
             (r '())) ; result
    (cond ((null? p) (loop i people '()))
          ((<= i  0) (values (first p)
                             (append (reverse r)
                                     (rest    p))))
          ( else     (loop (-  i 1)
                           (rest p)
                           (cons (first p) r))))))

(define (circle-of-hell n m)
  (define people (make-people-list n))
  (set! m (- m 1))
  (let loop ((p people)
             (l '())) ; losers
    (if (null? (rest p))
        (values p (reverse l))
        (let-values (((loser others) (kill m p)))
          (printf "loser: ~a ~a\n" loser others)
          (loop others (cons loser l))))))

(define (test)
  (circle-of-hell 5 3))


=>
Код: ruby
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Добро пожаловать в DrRacket, версия 5.1.1 [3m].
Язык: racket; memory limit: 4096 MB.
> (test)
; loser: 3 (1 2 4 5)
; loser: 4 (1 2 5)
; loser: 5 (1 2)
; loser: 1 (2)
2
'(3 4 5 1)
> 
...
Рейтинг: 0 / 0
01.03.2012, 21:21
    #37687171
luffi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
цикл по кругу
та нужно было ето закодить.
тему уже можна закрывать. задача решена
...
Рейтинг: 0 / 0
04.03.2012, 21:20
    #37690867
Mozok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
цикл по кругу
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / цикл по кругу / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]