Best shuffle: Difference between revisions

m
m (→‎{{header|Haskell}}: Whitespace.)
Line 9:
<lang d>int bestShuffle(char[] s1) {
 
int countSamePositions(char[] r1, char[] r2, int len) {
intreturn count!("a[0] == a[1] && a[1] != b")(zip(r1, r2), '-');
for (int i; i < len; i++) {
if (r2[i] != '-' && r1[i] == r2[i]) {
count++;
}
}
return count;
}
 
Line 42 ⟶ 36:
swap(s2[i-1], s2[uniform(0, i)]);
}
} while(countSamePositions(s1, s2, len) > 0);
char pc = cast(char) problemChar[0];
for (int i; i < len; i++) {
if (s2[i] == '-') {
Line 52 ⟶ 46:
}
 
int samePos = countSamePositions(s1, s2, len);
writefln("%s %s (%s)", s1, s2, samePos);
 
Anonymous user