你可以继续提交你的答案,但你不能再赢了。为子孙后代保留的原始职位:
"Bzzt“游戏是一个游戏,你必须数到一个数字(在本例中是500)。但是,如果这个数字中有一个3,或者可以被3整除,你不会说这个数字。相反,你说的是“模糊”。
规则:
发布于 2014-06-23 08:56:31
501{3sI3%<Is-I"bzzt"?N}fI谢谢霍华德:)
在http://cjam.aditsu.net/试一试
501{…}fI基本上是for(int I=0; I<501; ++I) {…}
3s将3转换为字符串,即"3“
I3%为I %3
<获取左子字符串- "3".substring(0, I % 3) -,否则为I %3 == 0而"3“为"”。
Is将I转换为字符串
带有两个字符串的-做了一个设置上的差异,导致一个空字符串当且仅当I %3 == 0(第一个字符串为空)或I中有一个3位数
…I"bzzt"?类似于… ? I : "bzzt";前面的字符串被视为布尔值,其中"“为false,而任何其他字符串都为真。
N添加了一个换行符
发布于 2014-06-23 07:47:20
501.times{|a|puts"#{a}"[?3]||a%3<1?:Bzzt:a}相当直截了当。
编辑:保存了一个字节,谢谢霍华德!
发布于 2014-06-23 16:05:41
可以在LinqPad中直接执行。
for(var i=0;++i<501;)(i%3<1|(i+"").Contains("3")?"buzz":i+"").Dump();https://codegolf.stackexchange.com/questions/32267
复制相似问题