首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >黑进彩票

黑进彩票
EN

Code Golf用户
提问于 2017-02-21 11:13:58
回答 58查看 14K关注 0票数 49

你最近在一个不可靠的赌博网站上开了个账户,只要收费25美元,他们就会在0到50美元之间随机退还给你。在两次获得大约5美元后,你决定证明这个网站是一个骗局。使用默认密码访问他们的外部防火墙后,您可以找到进入他们的数据库服务器的方法,并找到持有最小和最大金额的值的位置。您决定将25 '9's插入其中作为最大值,但会收到一条错误消息,表示最大值必须为‘uint64 64’类型。然而,现在您注意到一些数字键似乎没有正确地键入远程控制台。这个挑战出现在您面前,就像在Q+A站点上键入一样。

只使用方便安装的程序来测试和执行您的特定语言,输出无符号64位整数值的最大大小,然而,除了这台机器上的编程工具之外,几乎所有的东西都被破坏了,使得您没有使用数字1,2,4,6,8 --无论是在源代码还是文本中,您都会注意到,对于每一段额外的代码,执行程序所花费的时间似乎要长得多得多,因此,如果您想在绘图之前发财,最好保持时间短!

挑战

  • 编写一个输出18446744073709551615的程序,这是一个无符号64位整数的最大值,可以是数字,也可以是单个字符串。
  • 您的源代码不能包含任何字符'1','2','4','6‘或'8’
  • 如果您的语言没有无符号64位整数或等效,则输出可以是字符串格式的,也可以是其他格式的,但必须是上述数字。
  • 这是密码-高尔夫,所以最短的代码在每种语言中获胜!
EN

回答 58

Code Golf用户

回答已采纳

发布于 2017-02-23 21:05:38

蜂蜡,3字节

代码语言:javascript
复制
_M{

解释:

代码语言:javascript
复制
_   # Create a bee going horizontally across the line, reading the code
 M  # Decrement the bee's counter, which starts at 0.
    # This will set the counter to 2^64-1, because as bees don't have a concept of
    # negative numbers, all values that are negative are translated to 2^64-n,
    # and in this case, n = -1, as we are calculating 0 - 1.
  { # Print the value

在网上试试!

这种语言非常适合这一挑战。

以下是蜂蜡版的摘录:

每个人都知道,蜜蜂没有负数的概念,但是他们发现他们可以使用最重要的地址来绕过这个问题。因此,相对于蜜蜂的位置的坐标是由坐标的二补实现的。这样,64位地址空间的一半可用于本地寻址,而无需在每个方向上进行环绕。在64位十六进制中,最大正64位2的补语地址是9223372036854775807或0x7fffffffffffff。从0到此值的所有值都相同地转换为相同的64位值。在相反(负)方向上的所有值n都转化为2^64-n.例如: n=-1的地址为18446744073709551615。n=-9223372036854775808是9223372036854775808的地址。

这基本上是未签署的长期合同。

编辑:我仍然期待着丹尼斯会用一个2字节的解决方案来打败我。

票数 29
EN

Code Golf用户

发布于 2017-02-21 11:28:17

C,26字节

代码语言:javascript
复制
main(){printf("%lu",~0l);}

打印一个unsigned long值。

要求long的大小为64位。

票数 44
EN

Code Golf用户

发布于 2017-02-21 13:27:37

64位SBCL通用Lisp,18字节

most-positive-word

在64位编译器上,最肯定的词是64 64uint。这是件事。

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

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

复制
相关文章

相似问题

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