首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最长输出的最短代码

最长输出的最短代码
EN

Code Golf用户
提问于 2013-11-03 22:28:35
回答 10查看 2.1K关注 0票数 10

这个很简单。

编写尽可能最短的程序,同时生成最多的输出。

为了好玩,产生无限输出的程序将被取消资格。

获胜者是具有最大输出大小/代码大小比的程序。

这个结果是基于我的电脑上的工作原理,它是一台运行MacOSX10.7.5的Mac电脑,带有英特尔的核心i5和8GB的内存。

EN

回答 10

Code Golf用户

发布于 2013-11-06 08:59:35

所以,这些都是很好的程序,可以用很少的代码产生大量的输出,但是没有一个真正的短.

brainfuck,5个字符,255个字节的输出

代码语言:javascript
复制
-[.-]

我认为这是brainfuck真正擅长的唯一用例。我知道这一次不会赢,但我认为我们不可能比Python示例做得更好。不仅如此,还有..。

brainfuck,4个字符,无限输出

代码语言:javascript
复制
-[.]

我猜想这是最短的无限输出程序。

实际上,等等,我的朋友刚刚想出了一个很好的方法。

Python,80个字节,未知数量的输出

代码语言:javascript
复制
from datetime import datetime
while datetime.now()!=datetime.max()
 print "This will probably get disqualified"

这个计划最终肯定会停止,但只有在大约八千年后才会停止。输出字符的确切数量取决于计算机生成字符的速度。

票数 16
EN

Code Golf用户

发布于 2013-11-03 22:31:02

Ruby和Python,13个字符,599994个字符输出,~46153:1比

代码语言:javascript
复制
999999**99999

简单地将一个非常大的数字提升到另一个非常大的数字的幂。大约要20秒才能跑。我不能增加数字,因为这将使数字成为无限。

(I 早些时候做的,我目前正在为更长的输出制作一个循环)

编辑:我做到了!

Ruby,28个字符,6e599999个字符输出,~6e599998比(我认为)

代码语言:javascript
复制
a=999999**99999;a.times{p a}

没有经过测试(原因很明显),但我很确定第一个数字大约是1e599994,乘以599994大约是6e599999。理论上它会起作用,但我不确定它是否会使你的电脑崩溃,所以免责声明:如果它以任何方式损坏你的计算机,我不负责。

当然,你可以继续下去:

红宝石,37个字符,6e359992800041焦耳输出,~6e359992800040比

代码语言:javascript
复制
a=999999**99999;a.times{a.times{p a}}

依此类推,但我怀疑任何计算机都不能处理这个问题。

票数 5
EN

Code Golf用户

发布于 2013-11-04 16:55:49

如果允许无限输入,

代码语言:javascript
复制
cat /dev/random

既然不是,

代码语言:javascript
复制
head -99 /dev/random

(25128输出: 20输入= 1256.4:1)

我不是在Linux机器上,但我想你可以这样做

代码语言:javascript
复制
timeout 99d cat /dev/random

得到一个巨大的输出。(通过吉加瓦特的答复)

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

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

复制
相关文章

相似问题

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