С Новым годом! Форум программистов, компьютерный форум, киберфорум
Prolog
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 01.11.2016
Сообщений: 1

необходимо довести код решения задачи до ума

02.11.2016, 06:54. Показов 434. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1.Условие задачи:
По кругу расположено N человек. Начиная с некоторой пози¬ции, мы считаем по кругу и каждый М человек выбывает из круга, при этом круг смыкается. Напишите программу, которая определяет порядок, в котором люди выбывают из круга.

2.Текст программы:
Prolog
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
domains
    list=symbol*
predicates
    nondeterm zadanie(list,integer)
    nondeterm konk(list,list,list)
    nondeterm dlina(list,integer)
    nondeterm razbienie(list,list,list,integer)
    clauses
%склеивание двух списков
konk([],L,L).
konk([X|L1],L2,[X|L3]):-konk(L1,L2,L3).
 
%вычисление длины списка
dlina([],0).
dlina([_|Tail], N):- dlina(Tail,N1),
        N = 1 + N1.
%разбиение списка на два c удаление M-го элемента  
razbienie(L,L1,L2,M):- konk(L1,[X|L2],L),
            dlina(L1, N1),
            N1 = M – 1,
write(X,”  “).
zadanie(L,M):- razbienie(L,L1,L2,M),
            konk(L2,L1,Lr),
            zadanie(Lr,M),!;nl,nl.
goal
    zadanie([misha,vasya,valya,petya,anton,maksim,anya],5).
работает эта программа успешно, но ровно до тех пор, пока количество людей в круге больше либо равно счетчику.
есть предположение оформить все через остаток от деления, поясню: выписывать из списка того человека, номер которого соответствует остатку от деления счетчика на количество оставшихся в круге человек, за исключением нулевого остатка, в таком случае заменить нулевой остаток единичным. пытался реализовать сию программу но не получается в виду различных причин и проблем. прошу помощи. если как-то что не то описал, прошу прощения, это моя первая тема на этом форуме, ну и пролог нас учат по очень ускоренной программе

Добавлено через 12 часов 59 минут
вот этот код работает неверно, тот, что прикреплен к теме, не работает вообще
domains
list=symbol*
predicates
nondeterm sequence(list,integer)
nondeterm conc(list,list,list)
nondeterm length(list,integer)
nondeterm fragmentation(list,list,list,integer)
clauses
conc([],L,L).
conc([X|L1],L2,[X|L3]):-conc(L1,L2,L3).
length([],0).
length([_|Tail],N):-length(Tail,N1),
N=1+N1.
fragmentation(L,L1,L2,M):-conc(L1,[X|L2],L),
length(L1, N1),
N1=M-1,
write(X," ").
sequence(L,M):- fragmentation(L,L1,L2,M),
conc(L2,L1,Lr),
sequence(Lr,M),!;nl,write(L),nl.

goal
sequence([misha,vasya,valya,petya,anton,maksim,any a],5).
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.11.2016, 06:54
Ответы с готовыми решениями:

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

необходимо исправить ошибку и довести до ума!
R DB ? ; 0<R<150 Записать в регистр DX количество целочисленных точек на плоскости, попадающих в круг радиуса R с центром в начале...

Необходимо довести прогу до ума (окно вывода crt и блокировка ввода)
Всем привет. Прошу помочь в следующей проге: uses crt; var m: integer; sum, sum1: integer; k: char; sr1: real; a: array...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.11.2016, 06:54
Помогаю со студенческими работами здесь

Не плохо бы довести до ума код
Добрый день.Вообщем я начал учить c# 2 месяца назад и уже понимаю что,и как.Но вот в чём проблема, у меня есть вот такой код: using...

Нужно довести до ума код ADODB
Всем привет, я написал вот такой код на ADO чтобы выдернуть данные из другого файла(только чтение данных без изменения), которые потом...

покажите как правильно довести до ума код
Помогите разобраться в коде, должен переводить в любую систему счисления, не знаю как правильно обьявить num,fromnum,tonum. Помогите...

довести до ума
добрых времени суток. Нужно опять доделать задачу. Вот само условие: Дано вещественное число Х(|X|<1) и целое число N(>0) Найти...

Довести до ума
В общем, изначально надо было посчитать такую загогулину: S=\sum_{i:=1}^{n}\sum_{k:=1}^{m}{\left({b}_{ik}+{c}_{ki}...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru