0 / 0 / 0
Регистрация: 21.03.2011
Сообщений: 8
1

Напишите программу, которая определяет порядок, в котором люди выбывают из круга

01.12.2011, 09:07. Показов 1053. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите написать программу по прологу.
По кругу расположено N человек. Начиная с некоторой позиции, мы считаем по кругу и каждый второй человек выбывает из круга, при этом круг смыкается. Напишите программу, которая определяет порядок, в котором люди выбывают из круга, например, ВЫБ(2, [a,b,c,d,e,f,g], [b,d,f,a,e,c,g])
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.12.2011, 09:07
Ответы с готовыми решениями:

Напишите программу, которая считывает радиус круга и печатает диаметр круга, длину окружности и площадь
Добрый день. Продолжаю потихоньку решать задачи. Вот следующая. Напишите программу, которая...

Написать программу, которая определяет, сколько различных вариантов очереди могут образовать люди.
К театральной кассе направляются n человек. Написать программу, которая определяет, сколько...

Напишите программу, которая сортирует массив по убыванию суммы цифр числа. Используйте функцию, которая определяет сумму
Напишите программу, которая сортирует массив по убыванию суммы цифр числа. Используйте функцию,...

Напишите программу, которая определяет время суток
Напишите программу, которая по введенному числу из промежутка 0..24, определяет время суток.

2
2505 / 1480 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
01.12.2011, 16:58 2
Prolog
1
2
3
4
5
выб(_,[X],[X]).
выб(S,L,[H|Tail]):-get(S,L,H,Other),выб(S,Other,Tail).
 
get(1,[H|Tail],H,Tail):-!.
get(S,[H|Tail],E,L):-S1 is S-1,get(S1,Tail,E,Tail1),append(Tail1,[H],L).
0
1 / 1 / 1
Регистрация: 04.08.2013
Сообщений: 20
21.04.2014, 19:45 3
upd.
Помогите код выше скомпилировать
По идее должно выглядеть как то так
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
DOMAINS
i = integer
g = integer*
S1 = integer
 
PREDICATES
list(i,g,g)
get(i,g,i,i)
append(g,g,g)
CLAUSES
 
list(_,[X],[X]).
list(S,L,[H|Tail]):-get(S,L,H,Other),list(S,Other,Tail).
get(1,[H|Tail],H,Tail):-!.
get(S,[H|Tail],E,L):-S1 = S-1,get(S1,Tail,E,Tail1),append(Tail1,[H],L).
Выдает ошибку на предикат append: 401 no clauses for this predicate
0
21.04.2014, 19:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2014, 19:45
Помогаю со студенческими работами здесь

Напишите программу, которая определяет время в виде «чч:мм»
помогите очень надо Известно время вылета самолета: НН часов и ММ минут, а также...

Напишите программу, которая находит диаметр круга по его окружности
Напишите программу, которая находит диаметр круга по его окружности(длину окружности вводит...

Напишите программу, которая определяет наибольшее число в файле
Текстовый файл CISLA.TXT содержит ряд натуральных чисел. Каждое из этих чисел может содержать до...

Напишите программу, которая определяет, во что превращаются S рублей
Напишите программу, которая определяет, во что превращаются S рублей при инфляции P процентов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru