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

Казалось бы простой предика, а...

22.04.2012, 12:42. Показов 1104. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Само задание:
Определите предикат p(+V, +N, -L) - истинный тогда и только тогда, когда L - список элементов списка V, встречающихся в нем не менее N раз. Проверьте работу этого предиката на примере [a, a, b, a, c, b, c, a, b, b, d, a, b] для N=1,2,5,0.

Вчема просидел очень много часов тока всю голову сломал помогите пожалуйста разобраться.
Пока сделал следующее:
данный предикат выводит, максимольное количество одинаковых значений списка(но минус один, одиночный всегда пропускает, тоже устал биться)
Prolog
1
2
3
delsame([],[],0):-!.
delsame([H|Ti],R,Count):- member(H,Ti),delsame(Ti,R,Result),Count is Result+1,!.
delsame([Hi|Ti],[Hi|R],K):- delsame(Ti,R,K).

Этот предикат count1 уже выводит по заданному количеству N:
Prolog
1
2
3
4
5
6
7
8
9
count(_,[],0):-!.
count(Item,[Item|Tail],Count):-
        count(Item,Tail,Result),
        Count is Result+1,!.
count(Item,[_|Tail],Count):-
        count(Item,Tail,Count).
 
count1([],0):-!.
count1([Item|Tail],N) :- count(Item,Tail,R),R+1>=N,!.
Заранее благодарен за помощь!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.04.2012, 12:42
Ответы с готовыми решениями:

Казалось бы простой запрос, а не работает!
Здравствуйте! Тема очень простая на первый взгляд. У меня есть таблица: id user_id 1 5 2 5 3 8 4 8 5 8...

не могу найти казалось бы простой ответ(
Приветствую, уважаемые... Задаю переменную в классе main, использую ее в вызываемой функции из этого же класса, а значение переменной...

Как создать простой казалось бы запрос
Имеем поле xfields типа text. В нем среди остального текста встречаются вставки типа . Мне надо выбрать все такие вставки. То есть...

2
 Аватар для aag
71 / 75 / 3
Регистрация: 03.11.2011
Сообщений: 136
22.04.2012, 13:55
Так мона, если без выпендросов)))
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
DOMAINS
s=symbol   sl=s*
%
CONSTANTS
testList=[a,a,b,a,c,b,c,a,b,b,d,a,b]
%
PREDICATES
p(integer,sl,sl)
remCount(integer,integer,s,sl,sl)
ch(integer,integer,s,sl,sl)
%
CLAUSES
%
p(N,[A|B],C) :- !, remCount(1,Na,A,B,Bn), p(N,Bn,D), ch(N,Na,A,D,C).
p(_,_,[]).
%
remCount(A,B,C,[C|D],E) :- !, F=A+1, remCount(F,B,C,D,E).
remCount(A,B,C,[D|E],[D|F]) :- !, remCount(A,B,C,E,F).
remCount(A,A,_,_,[]).
%
ch(A,B,C,D,[C|D]) :- B>=A, !.
ch(_,_,_,A,A).
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
Goal: p(1,testList,Out)
Out=["a","b","c","d"]
1 Solution
Goal: p(2,testList,Out)
Out=["a","b","c"]
1 Solution
Goal: p(5,testList,Out)
Out=["a","b"]
1 Solution
Goal: p(0,testList,Out)
Out=["a","b","c","d"]
1 Solution
На диалект на Ваш сами уж...
0
0 / 0 / 1
Регистрация: 22.04.2012
Сообщений: 47
22.04.2012, 18:40  [ТС]
Большое спасибо, получилось. Еще бы это понять!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.04.2012, 18:40
Помогаю со студенческими работами здесь

Не происходит вызова функции в, казалось бы, простой ситуации
Имеется такой несложный код страницы: ___________________________________________ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0...

простая, казалось бы, математика
Доброго времени суток имеется следующая функция: private double getK(int x1, int y1, int x2, int y2){ if (x2 == x1){ ...

Swift Казалось бы просто
Пытаюсь в xcode сделать примитивную игру. Суть в том что бы на экране появлялась сначала 1 кнопка и давалось 2 секунды на нажатие, если...

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

казалось бы ерунда, а одалеть не получается
подскажите, пожалуйста, как сделать так, чтобы в последнем столбце формы автоматически подсчитывалась сумма по двум предыдущим полям...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru