이 방법으로 구성표에서 순열을 생성 할 수있는 방법 : 순열의 첫 번째 요소는 1-2 사이, 두 번째 1-4는 1-3 번째 ... 그리고 숫자도 더 많이 나타날 수 있습니다. 한 번 순열구성표의 특수 치환
1
A
답변
0
보다 다음은 주어진 범위에서 숫자의 순서에 대한 모든 순열을 생성하는 것입니다 방법은 다음과 같습니다 for/list
를 사용
(define (cartesian-product . lsts)
(foldr (lambda (lst acc)
(for*/list ((x (in-list lst))
(y (in-list acc)))
(cons x y)))
'(())
lsts))
(cartesian-product (range 1 3) (range 1 5) (range 1 4))
=> '((1 1 1) (1 1 2) (1 1 3) (1 2 1) (1 2 2) (1 2 3) (1 3 1) (1 3 2)
(1 3 3) (1 4 1) (1 4 2) (1 4 3) (2 1 1) (2 1 2) (2 1 3) (2 2 1)
(2 2 2) (2 2 3) (2 3 1) (2 3 2) (2 3 3) (2 4 1) (2 4 2) (2 4 3))
+0
append-map을 사용하여 해결책을 만들었지 만, 당신의 것이 더 좋을 것 같습니다! –
+0
@VoloacaOctavian 여러분을 환영합니다! 사이트에 게시 한 두 가지 질문을 [(http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) 받아 들일 수 있습니다. 확인 표시를 클릭하십시오. 그것의 왼쪽 - 그건 스택 오버플로에 "감사합니다"라고하는 방법입니다;) –
0
순열은 라켓의 문서에 here 덮여.
(for/list ([i '(1 2)]
#:when i
[j '(1 2 3 4)]
#:when j
[k '(1 2 3)])
(list i j k))
관련 문제
- 1. 구성표의 퀵실
- 2. 변수 치환
- 3. 명령 치환
- 4. 치환 Z3Py
- 5. 구성표의 배타적 OR
- 6. 앱 구성표의 흐름 제어.
- 7. 구성표의 원자는 무엇입니까?
- 8. 구성표의 이진 검색 트리
- 9. 구성표의 반복 부비동 기능
- 10. 파이썬 : 역 치환 함수
- 11. 접두어가있는 C# 문자 치환
- 12. 루비 변수마다 루프 치환
- 13. 변수 치환 대체 따옴표
- 14. Zend_Form와리스 코프 치환 원칙
- 15. 바인더의 모나드 치환
- 16. 하스켈에서 치환 알고리즘
- 17. 구성표의 두 목록의 차이점은 무엇입니까
- 18. 구성표의 기호에서 견적을 제거하려면 어떻게합니까?
- 19. 구성표의 꼬리 재귀 계산 기능
- 20. 우분투 계획과 XWin 구성표의 차이점
- 21. 구성표의 매개 변수 목록에 넣기
- 22. Python : 문자열에서 % s 치환 금지
- 23. Prolog : 치환 인수가있는 관련 술어
- 24. MKAnnotationView 치환 핀에 이미지 추가
- 25. 배쉬 프롬프트 여러 명령 치환
- 26. 두 번 배쉬 명령 치환
- 27. 자 NSPredicate predicateWithFormat가 : 변수 치환
- 28. 재귀 문자열 치환 스왑 함수
- 29. gambit 구성표의 C 함수에서 심볼을 반환하려면 어떻게해야합니까?
- 30. 구성표의 일반 추가 또는 곱하기 연산자
질문이 명확하지 않습니다. 어쩌면 당신은 그것을 업데이트해야하고, 샘플 입력과 프로 시저에 대한 예상 출력을 보여줄 것입니다. –