0
A
답변
1
프롤로그는 논리적 인 언어이며 필수적인 것이 아닙니다. 약간 다른 문제를 공식화해야 할 수도 있습니다. 원하는 것을 공식화하고 원하는 방식이 아닌.
the list of numbers between A and B is empty if A >= B or else
the list of numbers between A ans B is A and the list of numbers between A+1 and B
이 프롤로그의 몇 가지 기능을 가진 버전 :
이 재귀 버전입니다.
find all numbers X between A and B
이 두 버전 은 매우 직접 프롤로그로 전송할 수 있습니다. 프롤로그는 명령에 관한 것이 아니기 때문에 '루프'가 없습니다 (이 작업을 수행하십시오! 해당 값을 증가 시키십시오!). 그러나 문제를 공식화하는 것입니다.
1
난 당신이 이 렌더링 무슨 뜻인지 모르겠지만, 프롤로그 루프가 없기 때문에 당신은 재귀를 통해 쉽게 수의 목록을 만들 수 있습니다 :
는range_list(M,M,[M]).
range_list(M,N,[M|R]) :-
M < N ,
M1 is M+1 ,
range_list(M1,N,R)
.
range_list(M,N,[M|R]) :-
M > N ,
M1 is M-1 ,
range_list(M1,N,R)
.
또한 내장 사용할 수를 당신이 원하는 것을 얻기 위해 술어를 사용하십시오 :
range_list(From,To,Result) :-
findall(X,between(From,To,X),Result)
.
관련 문제
- 1. 사전에있는 목록에 항목을 추가하는 방법을
- 2. tablerow를 정의하는 방법을 알려주십시오.
- 3. 선택 목록에 추가하는 방법을 기계화 하시겠습니까?
- 4. 루프에서 인쇄되는 숫자를 추가해야합니다.
- 5. 인스턴스를 작성하기 위해 커널에 액세스하는 방법을 알려주십시오.
- 6. 임베디드 Python.Net에서 파이썬 명령을 호출하는 방법을 알려주십시오.
- 7. Opencv, 내 코드를 수정하는 방법을 알려주십시오.
- 8. pip에 테스트 종속성을 설치하는 방법을 알려주십시오.
- 9. Devise가 다른 레이아웃에서보기를 렌더링하는 방법을 알려주십시오.
- 10. Parquet에서 Spark DataFrame을로드하고 분산시키는 방법을 알려주십시오.
- 11. MySQL에 물리적으로 레코드를 저장하는 방법을 알려주십시오.
- 12. settings.bundle에 자리 표시자를 삽입하는 방법을 알려주십시오.
- 13. "뒤로"를 클릭하여 캐시를로드하는 방법을 알려주십시오.
- 14. 내 쿼리에서 레코드를 올바르게 표시하는 방법을 알려주십시오.
- 15. exectuable (어떤 형식 으로든) 압축하는 방법을 알려주십시오
- 16. HLS ffmpeg 옵션을 설정하는 방법을 알려주십시오.
- 17. 동적 목록에 여러 개의 숫자를 추가하는 방법은 무엇입니까?
- 18. 자신을 호출하여 목록에 숫자를 추가하는 함수를 작성하는 방법은 무엇입니까?
- 19. 목록에 임의의 숫자를 쉼표로 구분하여
- 20. PHP 루프에서 대체 숫자를 생성합니다.
- 21. dict을 루프의 목록에 추가하는 방법
- 22. 표시된 숫자를 추가하는 방법
- 23. 배열에서 숫자를 가져와 추가하는 방법을 알아야합니다. NB. 번호는 사용자가 지정합니다.
- 24. while 루프에서 목록에 추가 Python 3
- 25. 목록에 숫자를 표시하는 함수 사용
- 26. 홀수 색인에서 목록에 요소를 추가하는 방법은 무엇입니까?
- 27. 동적으로 jQuery Mobile 목록에 추가 목록을 추가하는 방법을 찾으십시오.
- 28. 이 방법을 사용하여 Java의 연결된 목록에 값을 추가하는 방법은 무엇입니까?
- 29. 매개 변수와 다른 숫자를 목록에 추가하려면 어떻게합니까?
- 30. 루프에서 SqlParameters를 추가하는 방법?
문제를 해결하려는 시도를 보여줄 수 있습니까? 프롤로그에서는 "루프"를 사용하지 않습니다. 재귀 술어에서 목록 처리를 수행합니다. – lurker