从很久以前的编程书籍中的挑战来看,PNZ是一款游戏,用户必须以正确的顺序猜测三个唯一的数字。
规则:
- 生成一个无重复数字的随机3位数字。(这是用户试图猜测的)
- 用户输入3位数字的猜测值,该猜测值将由程序进行评估。
- 在正确的位置为每个正确的数字输出“ P”。
- 在错误的位置为每个正确的数字输出“ N”。
- 仅当没有正确的数字时才输出“ Z”。
- 继续接受输入,直到所有数字正确并且在正确的位置,然后输出“ PPP”,后跟在新行上进行的猜测数目。
注意事项:
“正确的数字”是指猜测中的一位数字也是随机的3位数字中的一位数字。
“正确的位置”表示它是“正确的数字”,并且与3位随机数位于同一位置。
输出的顺序应该是所有“ P”的开头,然后是“ N”,或者如果没有正确的地方,则只有“ Z”。
如果一个输入中含有重复的数字,“P”的优先级高于“N”(例如:
Number: 123
Input: 111
Output: P
)(可选)输入的长度不完全是三位数的字符不应该被评估,也不应该计入连续的猜测总数中
如果生成的数字是123的示例
> 147
P
> 152
PN
> 126
PP
> 123
PPP
4
例如,如果生成的数字是047
> 123
Z
> 456
N
> 478
NN
> 947
PP
> 047
PPP
5
这是CodeGolf,所以最短的程序胜出!
欢迎来到PPCG!这是一个巨大的第一个挑战,但恐怕我们以前已经做到了。这款游戏被称为Mastermind。这是现有的挑战,但我无法下定决心要关闭旧的还是新的。我稍微倾向于解决这个问题,但是我会让社区决定。
—
Martin Ender
@MartinBüttner啊,那是我的坏事。看起来确实是一个非常相似的问题。我会同意您的意见,并让社区做出决定。
—
公众先生
@MartinBüttner这里的标准是什么?旧的优先权应该扩展到什么程度?
—
Luis Mendo
@MartinBüttner我认为在要求数字唯一和交互性质之间,这一挑战非常明显,值得考虑。
—
AdmBorkBork '16
@LuisMendo我认为没有正式标准,因为解决旧挑战是最近才发生的事情。我个人的标准是“哪个挑战更好和/或更多准系统”。
—
Martin Ender