Написать программу нахождения количества цифр 3 в целом числе - Prolog
Формулировка задачи:
Написать программу нахождения количества цифр 3 в целом числе
Решение задачи: «Написать программу нахождения количества цифр 3 в целом числе»
textual
Листинг программы
predicates num_n(integer,integer,integer) clauses num_n(N,N,1). num_n(M,N,0) :- M<10, M<>N. %% M - число; N-цифра num_n(M,N,K) :- M>=10,N=M mod 10, V=M div 10, num_n(V,N,K1), K=K1+1. num_n(M,N,K) :- M>=10,N<>(M mod 10), V=N div 10, num_n(V,N,K).
Объяснение кода листинга программы
Код на языке Prolog предлагает решить задачу подсчёта количества цифр 3 в числе. В коде используется рекурсивный подход и три предиката:
- num_n(N,N,1) — если число N равно цифре N, то есть 1.
- num_n(M,N,0) — если число M меньше 10 и оно не равно цифре N, то есть 0.
- num_n(M,N,K) — если число M больше или равно 10, то есть M >= 10, то число N равно последней цифре числа M, а значение K равно 1 плюс значение K1, которое получается после вызова функции num_n для числа V и цифры N. В случае если число N не является последней цифрой числа M, то есть N < (M mod 10), значение K равно K1 плюс 1. В результате работы программы, она выведет количество цифр 3 в числе.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д