나는 15 조각 슬라이딩 퍼즐의 구현을 위해 노력하고 있는데, 필자는 "해결할 수있는 순열 (permutations)"로만 섞어 야한다는 것을 분명히해야했다. 내 오른쪽 하단의 빈 타일 : 균일 순열.패리티가 짝수 또는 홀수인지 실제로 계산하는 방법은 무엇입니까?
How can I ensure that when I shuffle my puzzle I still end up with an even permutation?과 같은 유사한 스레드를 많이 읽었으며 "순열에서 역수의 수를 계산하십시오"라고 이해해야합니다.
나는 자바 스크립트 작성, 내 번호를 랜덤 피셔 - 예이츠 알고리즘을 사용하고 있습니다 :
var allNrs = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14];
for (var i = allNrs.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var temp1 = allNrs[i];
var temp2 = allNrs[j];
allNrs[i] = temp2;
allNrs[j] = temp1;
}
어떻게 실제로 나는 많은 게시물에 대해 읽고이 치환 또는 패리티 값을 caculate합니까?
이것은 프로그래밍 문제보다 수학 (대수/그룹 이론) 문제 일 가능성이 큽니다. – djechlin
자바 스크립트의 특정 구현보다 알고리즘에 관한 것이 많기 때문에 http://programmers.stackexchange.com/에 더 적합 할 수 있습니다. – depa