Bulls and cows: Difference between revisions
Content added Content deleted
(Undo revision 171825 by DatportomanReinstate Haskell.) |
(Simpler D entry) |
||
Line 692: | Line 692: | ||
<lang d>void main() { |
<lang d>void main() { |
||
import std.stdio, std.random, std.string, std.algorithm, |
import std.stdio, std.random, std.string, std.algorithm, |
||
std.range, std.conv; |
std.range, std.conv, std.ascii; |
||
immutable hidden = "123456789"d.randomCover.take(4).array; |
immutable hidden = "123456789"d.randomCover.take(4).array; |
||
Line 698: | Line 698: | ||
"Next guess: ".write; |
"Next guess: ".write; |
||
immutable d = readln.strip.dtext; |
immutable d = readln.strip.dtext; |
||
if (d. |
if (d.count == 4 && d.all!isDigit && |
||
d.dup.sort().uniq.count == 4) { |
d.dup.sort().uniq.count == 4) { |
||
immutable bulls = d.zip(hidden).count!(p => p[0] == p[1]); |
immutable bulls = d.zip(hidden).count!(p => p[0] == p[1]); |