首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSI:我的经验之谈

CSI:我的经验之谈
EN

Code Golf用户
提问于 2017-06-07 06:17:57
回答 11查看 4.7K关注 0票数 22

“我的世界”1.12将于明天发行,所以让我们来庆祝一下吧!

编写接受非负整数N的代码,它表示“我的世界”中某事物的项数。以一种对玩家更有帮助的方式输出它,给出箱子、堆栈和物品N的数量。使用格式

代码语言:javascript
复制
XcYsZi

哪里

  • X是你可以完全装满N个物品的箱子的数量,
  • Y是你在装满箱子后可以用剩下的物品填充的堆栈数,
  • Z如果在装满箱子和堆叠后剩下的物品的数量。

请注意:

  • 一个堆栈中有64个项目。(我们将忽略堆栈为16或不堆栈的项。)
  • 27叠装在一个箱子里。(这是单胸,而不是双胸。)

因此,如果Y超过26,或者Z超过63,那就没有意义了。

格式的一个警告是,如果没有任何东西,这个术语就不会被打印出来。

  • 因此,例如,如果Y为零,XZ为非零,格式将类似于XcZi
  • 同样,如果YZ为零,X为非零,则格式为Xc
  • 这里的例外是,当N是零时。然后0i是输出,而不是空字符串。

您可以假设所有N项都是相同类型的,因此所有可堆叠。

您不能输出三个数字的列表或元组。您必须按照这个顺序给出一个带有确切"csi“表示法的字符串,没有空格或逗号。

作为参考,这里有一个装满了成堆物品的箱子:

测试案例

代码语言:javascript
复制
in -> out
0 -> 0i
1 -> 1i
2 -> 2i
62 -> 62i
63 -> 63i
64 -> 1s
65 -> 1s1i
66 -> 1s2i
127 -> 1s63i
128 -> 2s
129 -> 2s1i
200 -> 3s8i
512 -> 8s
1337 -> 20s57i
1664 -> 26s
1727 -> 26s63i
1728 -> 1c
1729 -> 1c1i
1791 -> 1c63i
1792 -> 1c1s
1793 -> 1c1s1i
4096 -> 2c10s
5183 -> 2c26s63i
5184 -> 3c
5200 -> 3c16i
9999 -> 5c21s15i
385026 -> 222c22s2i
1000000000 -> 578703c19s

以字节为单位的最短代码获胜.

EN

回答 11

Code Golf用户

发布于 2017-06-07 07:48:06

05AB1E,24字节

代码语言:javascript
复制
1728‰`64‰)˜…csiøvyJ¬0Êi?

在网上试试!

解释

代码语言:javascript
复制
1728‰                      # input divmod 1728 (64*27)
     `                     # split as separate with mod result on top of stack
      64‰                  # divmod 64
         )˜                # wrap stack in flattened list
           …csiø           # zip with the string "csi"
                vy         # for each
                  J        # join amount with storage-type
                   ¬0Êi    # if head != 0
                       ?   # print
票数 4
EN

Code Golf用户

发布于 2017-06-07 06:28:08

Python 3,87字节

代码语言:javascript
复制
lambda n:g(n//1728,"c")+g(n//64%27,"s")+g(n%64,"i")or"0i"
g=lambda n,s:(str(n)+s)*(n>0)

在网上试试!

票数 3
EN

Code Golf用户

发布于 2017-06-07 10:54:36

Java 8,86字节

代码语言:javascript
复制
i->i>0?(i/1728>0?i/1728+"c":"")+((i%=1728)/64>0?i/64+"s":"")+((i%=64)>0?i+"i":""):"0i"

在这里试试。

票数 2
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/124997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档