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

Является ли число простым

21.03.2015, 17:07. Показов 2070. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите ,пожалуйста,как изменить, чтобы при наборе простого числа выдал "да" иначе "нет"


Prolog
1
2
3
4
5
6
7
8
9
10
predicates
chk(integer,integer)
is_prime(integer)
 
clauses
chk(N,K) :- K>(N/2).
chk(N,K) :- N mod K = 0, fail.
chk(N,K) :- N mod K <> 0, K1=K+1, chk(N,K1).
 
is_prime(N) :- chk(N,2).
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.03.2015, 17:07
Ответы с готовыми решениями:

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

Определить, является ли число N простым
Помогите пожалуйста! Надо написать Пролог-программу, определяющую является ли заданное число N...

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

Для целого числа n проверить утверждение, что если число 2n-1 – 1 является простым, то число 2n * (2n+1 – 1) является совершенным.
Для целого числа n проверить утверждение, что если число 2n-1 – 1 является простым, то число 2n *...

7
Фрилансер
3705 / 2077 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
22.03.2015, 15:16 2
Лучший ответ Сообщение было отмечено o_serobaba как решение

Решение

Prolog
1
2
3
4
5
is_prime(N) :- 
    chk(N,2),
    !,
    write("Да");
    write("Нет").
Добавлено через 1 минуту
Или, если больше нравится, разбить на два правила:
Prolog
1
2
3
4
5
6
is_prime(N) :- 
    chk(N,2),
    !,
    write("Да").
is_prime(_) :- 
    write("Нет").
1
0 / 0 / 0
Регистрация: 09.07.2013
Сообщений: 69
22.03.2015, 17:06  [ТС] 3
Black Fregat, почему-то программа выдает ошибку((
0
Фрилансер
3705 / 2077 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
22.03.2015, 20:25 4
Какую?
0
0 / 0 / 0
Регистрация: 09.07.2013
Сообщений: 69
22.03.2015, 20:32  [ТС] 5
Black Fregat,
Prolog
1
2
3
4
5
6
7
8
9
predicates
chk(integer,integer)
is_prime(integer)
clauses
chk(N,K):-K>(N/2).
chk(N,K):-N mod K=0,fail.
chk(N,K):-N mod K<>0,K1=K+1,chk(N,K1).
is_prime(N):-chk(N,2),!,write("DA").
is_prime(_):-write("NET").
0
Фрилансер
3705 / 2077 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
23.03.2015, 00:25 6
Какую ошибку у Вас выдает программа? В каком Прологе?

Добавлено через 48 минут
У меня эта программа работает
0
0 / 0 / 0
Регистрация: 09.07.2013
Сообщений: 69
29.03.2015, 15:36  [ТС] 7
Black Fregat, Visal Prolog 5.2
0
Фрилансер
3705 / 2077 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
29.03.2015, 16:55 8
Как говорил один колоритный дядя, "рискну предположить!"
Может быть, Вам стоит цель добавить?
Как-то так:
Prolog
1
2
3
goal
    readint(N),
    is_prime(N).
И в следующий раз пишите подробнее - что именно не работает, какие ошибки выдает..
0
29.03.2015, 16:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.03.2015, 16:55
Помогаю со студенческими работами здесь

Ввести целое число и определить, является ли данное число простым или нет
Ввести целое число и определить является ли данное число простым или нет. (желательно простым кодом...

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

Является ли число простым?
является ли число простым?Никаких диапазонов, никаких массивов, просто ввести число и выдать на...

Является ли число простым
Определить является ли число простым. Состав те функцию определяющую простое число или нет.


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

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