创建两倍于代码长度的输出


85

挑战

编写一个完整的程序,该程序向标准输出中写入的字节数是程序长度的两倍。

规则

  • 程序必须将ASCII字符写入标准输出。

  • 输出的内容无关紧要。

  • 输出(以字节为单位)必须恰好是程序长度的两倍(也以字节为单位),除非您满足附加条件。

  • 任何结尾的换行符都包含在输出的字节数中。

奖金

您的程序可以选择n输入数字。如果是这样,输出必须恰好是n * program length字节。您可以假设n始终为正整数。如果未提供任何输入,则n必须默认为2。

如果这样做,您可以从乐谱中减去25个字节。

最短的程序获胜。

限制条件

  • 没有标准漏洞。

  • 该程序必须至少1个字节长。

  • 无需在源代码中添加不必要的空格以更改其长度。同样,评论也不计算在内。

  • 除非您履行奖金,否则该程序不得接受任何输入。如果您确实履行奖金,则整数必须是唯一输入。

最低分(程序长度以字节为单位-奖励)获胜。

每种语言的最短答案会赢得该种语言的支持

排行榜

这是一个堆栈片段,用于按语言生成常规排行榜和获胜者概述。

为确保您的答案显示出来,请使用以下Markdown模板以标题开头。

# Language Name, N bytes

N您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数保持标题。例如:

# Ruby, <s>104</s> <s>101</s> 96 bytes

如果要在标头中包含多个数字(例如,因为您的分数是两个文件的总和,或者您想单独列出解释器标志罚分),请确保实际分数是标头中的最后一个数字:

# Perl, 43 + 2 (-p flag) = 45 bytes

您还可以将语言名称设置为链接,然后该链接将显示在页首横幅代码段中:

# [><>](http://esolangs.org/wiki/Fish), 121 bytes


1
为了获得奖励,输出必须精确地是n * program length字节,还是最小值?
xnor 2015年

2
必须准确
Daniel M.

3
看起来必须修改代码段以处理否定分数。
El'endia Starman

40
对于某些语言,基本上必须加-25的奖金,因为这会使他们达到负分。将来,我建议您使用百分比奖金,或者如果您确实希望得到答案,就将奖金作为问题。或者,就是没有奖金。
xnor 2015年

4
对于“未提供输入”,我们是否假定传入了空字符串?我看不到如何处理从未输入任何内容的用户,而程序只是在等待。
xnor 2015年

Answers:


138

HQ9 +,2个字节

QQ

输出

QQQQ

我认为这不是禁止的。


14
它可能不是被禁止的,但是它不是很中间的...等等,它是如何获得八次投票的?
John Dvorak

58
@JanDvorak我不喜欢HQ9 +,这对我来说是一种创造性的用途。创建HQ9 +时最有可能未想到这种用法,这比大多数其他Hq9 +程序所能说的要多。向我+1。
Digital Trauma 2015年

13
我什至不知道Q会打印“程序的源代码”。我以为它只印了一个Q。为发现关键差异做得很好!
Timwi

7
@ LegionMammal978从技术上讲,这是一个持续的输出挑战,这意味着可以使用非编程语言。
意大利面条

3
这有120票。输入QQ口译员需要1200 rep 。
Stan Strum,

95

莎士比亚,768

是的,莎士比亚不是打高尔夫球的语言。输出1,536个空格。

Rosencrantz and Guildenstern: A Series of Tedious Events.

Rosencrantz, a count of extraordinary determination.
Guildenstern, a spacy character.

Act I: The Long Conversation

Scene I: A Tortured Friendship

[Enter Rosencrantz and Guildenstern]

Rosencrantz:
 You are a gentle, noble, valiant, loyal, loving companion.

Guildenstern:
 You are nothing!

Scene II: Asking the Hard Questions

Rosencrantz:
 Speak your mind.

Guildenstern:
 You are as fair as the sum of yourself and a daisy. Are you as
 daring as the sum of a big, bold, fiery, feisty, rough, rowdy,
 ham-fisted, hawk-eyed, broad-shouldered, bright-eyed lad and a
 large, yellow, vicious, hairy, wild, scary, long-tailed,
 sharp-clawed, small-eared lion?

Rosencrantz:
 If not, let us return to scene II.

编辑:256

好吧,我实际上会打高尔夫球。请注意,以上内容未在任何现有的莎士比亚实现中进行编译,因为我是手工精心编写的(但准备捍卫其正确性。)

下面的代码在spl-1.2.1中转换为带有一个警告的C,并输出512个空格:

Ummm.Ajax,1.Puck,2.Act I:I.Scene I:A.[Enter Ajax and Puck]Ajax:You old old old old old cow.Puck:You are zero!Scene II:B.Ajax:Speak thy mind.Puck:You are the sum of you and a red cat.Are you as big as the square of me?Ajax:If not, let us return to scene II.

15
如果您实际打高尔夫球,我会+1。
lirtosiast 2015年

1
这是什么鞭法?我什至不知道存在这样的东西……
马拉沃斯州

10
哇,你打高尔夫球了。圣港。
马拉沃斯

2
@Malavos我只是在开玩笑,说你拼错了巫术的方式,对不起-什么都可能没事

2
不,如果我听起来有些冒犯或防御,我请你原谅。我只是在提到Futurama!:)值得一提的是,我对这个答案仍然感到惊讶。我们在网站上需要更多。
马拉沃斯2015年

69

调用,17个字节

................!

16个NOOP。然后,!调用调试器并将内存转储到控制台。内存为空,但标头长34个字节:

-- STATE DUMP --
----------------

在这里尝试。


13
这是IMO较为冷静的答案之一。


60

CJam,-17个字节

r2e|i8,*

源代码长8字节,有资格获得-25字节的奖励。

CJam解释器中在线尝试。

这个怎么运作

r         e# Read a token from STDIN.
 2        e# Push 2.
  e|      e# Logical OR; keep the token if it's not empty, 2 otherwise.
    i     e# Cast to integer.
     8,   e# Push [0 1 2 3 4 5 6 7].
       *  e# Repeat the array the corresponding number of times.

4
废话 做得好。
The_Basset_Hound 2015年

1
负字节如何?
尼克T

3
@NickT 8字节(源代码)-25字节(奖金)。
丹尼斯

16
如果磁盘空间不足,则可以保存几百万个副本。
罗伯特·弗雷泽

不,我认为元数据会使其变得积极
CalculatorFeline

47

Python 2.6、10

print`-.1`

打印-0.10000000000000001,即20个字符。

请注意,字符串repr显示更高的精度。print-.1只是给-.1,并print.1/3给出了0.0333333333333只有13位数字的准确性。


5
这在Python 2.7或3.1中不再起作用
安德斯·卡塞格

@AndersKaseorg所以repl.it是错误的,然后呢?
mbomb007

2
@ mbomb007显然。GitHub认为这并不是唯一的错误。Ideone同意CPython。
安德斯·卡塞格

与您的其他答案相同的评论:这不打印尾随换行符,给出21字节的输出吗?
马丁·恩德

1
你的意思是print`+.1`
mbomb007 '17

46

种子,10字节

4 56111240

这将编译为Befunge程序(由蛮力创建)

9k.@

运行时将产生以下20个字节(在CCBI中测试,请注意尾随空格):

0 0 0 0 0 0 0 0 0 0 

由于不熟悉Befunge 98,因此我不得不仔细检查几次此规范:

  • k 对我来说似乎很糟糕,由于IP移入了重复指令,执行时间比预期多了
  • Befunge 98的堆栈底部有无限零
  • . 输出为数字,后跟空格

18
....我...只是...不能。
Daniel M.

44

R,3 2个字节

!0           # NOT FALSE

产出

TRUE

哇,最后是R,最后是。

似乎{}工作也输出NULL

奖金33 16字节:

rep(1,number*16)

产出

# if number is not defined
> rep(1,number*16)                     
> Error: object 'number' not found     # output is 32 (or 2*16) bytes long error

# if number is defined
> number = 3                            
> rep(1,number*16)                     # output is 16*number bytes long
> 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

2
我希望使用名称“ number”作为变量不等同于“在源代码中添加不必要的空格”
Mutador 2015年

26

Matlab,7个 5字节

多亏@flawr,少了2个字节!

123;3

输出:

在此处输入图片说明

输出包含,所以10个字节。newline ans = newline newline 3 newline


1
让我们希望没有人format compact默认:)
Sanchises 2015年

2
@sanchises :-)是的,这取决于如何设置Matlab的首选项。但是默认的偏好设置format loose
路易斯·门多

2
怎么123;4样 是短了三个字节=)
较模糊的

@flawr好主意!自己发布!
路易斯·门多

是的,太多的灵感来自您的答案=)
虚假的

25

JavaScript,2个字节!

甚至比3个字节的解决方案还短:

!0

true运行后返回。


2
您应该注意,这仅在REPL环境中有效
Cyoce '16

21

Python 2、11

print`id`*1

打印内置字符串的字符串表示形式id,为22个字符:

<built-in function id>

*1是让代码11个字符。您也可以这样做print id;00

更无聊的替代方案11是:

print'1'*22
print 9**21

我一直在玩复数,但不幸的print.8/-9j是一个字符短
Sp3000,2015年

这些不是打印尾随换行符,使输出的字节数为23吗?
Martin Ender 2015年

1
@MartinBüttner该规则在以后进行了编辑,但是将其更改为print id,;1足以抑制尾随换行符。它也不添加尾随空格。
xnor

@xnor print 9**21不起作用。这是21个字符。print 9**23尽管可以工作
Koishore Roy

18

直流,10-25 = -15

2?A*Ar^1-n

空行表示“无输入”。

计算10 ^(10 * n)-1,其中n是输入,如果输入为空,则为2。打印9所需长度的s 字符串。

  • 2 如果输入为空,则将2压入堆栈
  • ? 将输入推入堆栈
  • A将10推入堆栈(dc具有快捷键A- F表示10-15)
  • * 弹出两次并相乘(输入乘以10)
  • A 将10推入堆栈
  • r 反转前两个堆栈元素
  • ^ 取10 ^(10 *输入)
  • 1- 从栈顶减去1
  • n 没有换行符打印。

ang,那太聪明了。幸运的是那里的代码长度:)但是,也许您应该为未使用它的人添加一个简短的解释。而且我认为换行很重要,因此您可能应该使用n而不是p
daniero

17

TI基本,3个字节

1ᴇ5

印刷品100000


实际上,我认为换行符会起作用,因此您只需01个字节即可。
lirtosiast,2015年

1
怎么ᴇ3样 @lirtosiast,因为TI-Basic没有换行符,所以我对此表示怀疑。
雅各布

16

Brainfuck,14个字节

+++++++[....-]

这是一些数学练习。让我们代表的数+字符的代码a,并且数量.字符的b

该代码输出a*b字节,其值从a低到低1(这些是非ASCII字节,但根据规范似乎还可以)。代码的长度为a+b+3。所以我们有

a*b = 2 * (a+b+3)

a和尝试不同的值b,我们看到a+b+3达到了的最小值

a = 4       or       a = 7
b = 7                b = 4

经验丰富的资深程序员会发现这种+[[>....]-<<+]选择。
Orthoplex

@orthoplex当我读到您的评论时,我立即进行了mandfuck的编程和编程工作:brainfucker

15

gs2,-18个字节

CP437W↕0!↨.2

十六进制转储: 57 12 30 21 17 2e 32

W从STDIN读取数字到列表中。↕0将2附加到列表中,并!提取第一个元素。然后,↨.(列表[0,1,2,3,4,5,6])被重复多次(2)。

这是非常相似的丹尼斯的CJam答案- GS2只是结合r,并i为一个字节。

注意:我必须修复实现中的一个错误gs2才能使它起作用:以前,每个程序在其输出后都有一个隐藏的换行符,这完全是无意的。它只是在我尝试解决此程序后才浮出水面(该语言是为无政府状态高尔夫而设计的,它忽略了所有问题中的尾随换行符),而我只是在此刻就掌握了修复方法,因此可以随意获得此答案盐。


1
GS2的第一个答案我见过,它没有任何卡片套装字符!
Cyoce '16

14

Perl 5、16个字节-25 = -9

$_ =$]x($_*2||4)

这是解决问题的一种奇怪方法。

使用-p命令行参数运行。

我在下面看到一个Perl答案,该答案使用特殊变量来打印更多文本-从而缩短了字节数。因此,我使用了更为冗长的特殊变量。它打印8个字符和2个字符的变量名。因此,它的字节数为16(用一个空格字符填充为16),它打印2 * $],其中$]Perl版本打印为5.xxxxxx,具体取决于您的Perl版本。如果没有输入,它将打印四次,等于8*432,这是代码字节数的两倍。

我爱Perl。


我认为这对于空输入是失败的。每规则,如果没有提供输入,多应默认为2
亚历A.

@AlexA。该死的,我很想念。高尔夫编程新手。编辑传入的内容,但我的答案现在有很多字符,因为我不知道如何在perl中更富有创意地做到这一点:(
Codefun64

2
嘿,还有其他一些技巧可能会在这里帮助您,默认情况下在程序脚本中,pop然后shift继续进行工作@ARGV(在之后进行sub工作@_),因此您可以执行一些操作$n=pop||2来降低第一个代码块,;}最后,几乎总是可以}保存另一个。可能会帮助您节省更多字符的是字符串重复运算符x,考虑print 1x20或类似的东西... :)希望能有所帮助!
Dom Hastings

@DomHastings男人,谢谢!由于您的帮助,我总共将其减少到2个字节:)非常感谢您的建议。
Codefun64

1
我认为您可以将其缩短到这一点print"n"x(21*pop||42)。在命令行上运行perl -e'print"n"x(21*pop||42)' 3 | wc -c
hmatt1

14

Pyth10 9-25 = -16

丹尼斯-1

**N9?zvz2

打印[输入] * 9引号字符;如果输入为空,则输出2 * 9。

isaacg 在这里的答案较短

Pyth,1个字节

T

印刷品10。这是一个内置变量,初始化为10。


如果.x处理错误,它将很有用。为什么没有理由呢?
lirtosiast 2015年

2
我最好的猜测是Q导致Pyth在执行实际代码之前先评估输入。**N9.xvz2可以正常工作,但不能短于**N9?zvz2
丹尼斯

2
任何结尾的换行符都包含在输出的字节数中。 T输出10和换行符。使用d,这是一个附加了换行符的空间
Stan Strum

9

通心粉0.0.2,23个字符

print tobase pow 32 9 2

以二进制形式打印32 9,它恰好方便地变成46个字符长(是1000000000000000000000000000000000000000000000),没有尾随换行符。


9

JavaScript,4个字节

~$ cat main.js
+1/0
~$ nodejs main.js
Infinity

我认为这是没有ES6的最短JS解决方案:P


您有哪个版本的NodeJS?这不适用于我的。
丹尼斯

1
这也可以在Firefox控制台上使用。
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳

1
尾随换行符应包含在输出长度中。
lirtosiast

Node.js v0.10.40根本不打印任何内容,因为没有打印命令。您是否具有不同版本的Node.js或仅在打印行评估的shell中起作用?(在这种情况下,我认为此答案无效)。
Nateowami 2015年

4字节?请使它实际上像是正确的尺寸。
Star OS

9

C,27 25

main(){printf("%50f",0);}

感谢@Titus删除2个字节


对于我在C中无法竞争的 16字节解决方案,请转到此处:https : //codegolf.stackexchange.com/a/111330/16513

^我说不竞争是因为错误代码可能取决于您的编译器,还请注意我在该解决方案中使用GCC。另外,我不确定是否违反规则1,我认为可能会违反,因此我继续将其标记为不竞争


1
我不认为这是有效的C程序,但main(){printf("%0.XXf",0);}可以工作。
wefwefa3

2
@Zereges不,C具有“隐式声明”规则,该规则通常使您可以使用没有适当内容的东西#include。编译器将发出警告,有时会崩溃,但通常会起作用
anatolyg 2015年

1
@AlbertRenshaw另外,我认为它在这里不起作用。
Zereges 2015年

1
需要注意的是27 * 2 = 38!
mbomb007

1
@Zereges。此代码不显示未定义的行为。在最近的标准中不建议使用“隐式声明”和“隐式返回类型”功能,但是仍允许使用它们,并且可以很好地定义结果。在某些情况下,使用此类功能会导致未定义的行为,但是此代码不涉及这些行为。
彼得

7

V,2字节

这个输出

ÿÿÿÿ

在线尝试!

说明

这是一个很荒谬的答案,它可以通过滥用V的内部来起作用。本质上,它的工作方式是ÿV中的一个命令,该信号表明程序已结束,并且所有未完成的命令都必须完成。否则,某些隐式结尾将不起作用,并且解释会更频繁地挂起。该命令在程序结束时会自动发送几次,大多数情况下对输出没有影响。

é是插入单个字符的命令。但是,它是通过获取原始字节来实现的,因此它不会解释ÿ为“结束”,而是将其解释为“这是您需要插入的字符”。使它将此字符插入4次而不是一次。


7

bash,11个字节

这是数据压缩工具的令人讽刺的用法:)...

gzip -f<<<2

这是输出的十六进制转储(22字节)...

0000000: 1f 8b 08 00 e3 ce 32 59 00 03 33 e2 02 00 90 af  ......2Y..3.....
0000010: 7c 4c 02 00 00 00                                |L....

这将输出22个字节的“扩展ASCII”(例如,每个字符8位)。如果您阅读“问题”文章上的评论,这似乎符合OP对ASCII的定义。
Wossname

TIO上,我有16,但在Linux机器上,我有34
Stan Strum

@StanStrum,我不知道什么是TIO,但是Linux下的34是奇怪的。也许您使用gzip别名可以正常使用其他开关?
Wossname

我不知道是不是这样,但这似乎很奇怪。我将在一些LiveCD上尝试使用它,看看是否将我的程序之一@Wossname弄乱了
Stan Strum

1
我不是那个家伙,我不会利用我新获得的129 rep tyvm。我将查看是否可以制作适用于我的Linux安装的版本
Stan Strum

6

直流,19-25 = -6

2?19*[1n1-d0<l]dslx

接受一个数字(将2作为备份送入堆栈),然后乘以19。打印一个1(不换行)并减少该数字。当数字大于0时循环播放。


6

C ++,80个字节

#include<iostream>
int main(){int i=0;while(i<20){std::cout<<&i;i++;}return 0;}

请注意,换行符是两个字符。(如果您不希望出现这种情况,请将i <20更改为i <= 19以返回相同的字节数。)

样本输出(每次都会更改)

0088FA0C0088FA0C0088FA0C0088FA0C0088FA0C0088FA0C0088FA0C0088FA0C0088FA0C0088FA0C0088FA0C0088FA0C0088FA0C0088FA0C0088FA0C0088FA0C0088FA0C0088FA0C0088FA0C0088FA0C

相同的8个字符的存储器地址20次。


打高尔夫球的一些提示:for循环比循环短while,可以放下花括号,使用起来便宜些cstdio,只需printf一根绳子,而且不需要返回任何东西。
路加福音

您可以将方法减少到63个字节:#include<iostream> int main(){for(int i=10;--i;)std::cout<<&i;}但是已经有了一个略有不同的方法来解决这个问题。
movatica

6

果酱,-9

q_,{i}{;2}?G*'X*

说明

  • q_,

读取整个输入并将其推入,然后推入长度。

  • {i}{;2}?

如果输入长度超过零,则将其转换为整数。否则,弹出输入并按2。

  • G*

按下16(程序长度),然后将其乘以2(如果没有输入)或输入。

  • 'X*

压入X并将其乘以堆栈顶部。


@ThomasKwa哎呀。几秒钟内更新。
The_Basset_Hound 2015年

逗号不是必需的,但是如果您执行逻辑“或”,则可以完全避免使用“如果”:q2e|i将为您提供所需的数字
aditsu

另外,您可以使用S而不是'X,唯一的问题是直到您选择它,输出才是可见的(好吧,如果您离线运行它并重定向到文件,这不是问题)
aditsu

呃..没关系,我现在才看到丹尼斯的答案:p
aditsu

即使有条件,您也可以缩短此时间。您不需要计算长度,因为一个空字符串已经是false。您也不需要将空字符串从堆栈中弹出,因为它不会影响输出。这也使您可以避免为else分支使用大括号。在查看任何答案之前,我想出了这个方法:r_{i}2?SB**
Reto Koradi 2015年

6

> <>,19 + 2(-v标志)-25 = -4字节

l?!2f4+*v
-1o;!?::<

在这里测试!

谢谢科尔和Sp3000

首先检查堆栈长度,如果为0,则在堆栈上放2。将其乘以21(代码长度),然后输出该数字的unicode表示并将其减1,直到0。(您必须检查输出以查看字符,因为浏览器不会显示它们)


1
是的,很抱歉毁掉您的答案(但是比我的答案短,如果可以使您感觉更好)。编辑:哎呀命中输入太早,按规则“您可以假设n始终为正整数。如果不提供输入,n必须默认为2”,则您当前输入的内容无效。我也认为它可能打印一个太多的字符(从14到0,按我的计算,这是15个字符,而不是14个字符)。如果我是正确的,则l0=?2f6+*v作为第一行和1-::0=?;o>第二行应该正确。
2015年

嗯,不确定你的意思。在任何情况下都不应该输出0。将2用作初始堆栈输出(编辑:我无法粘贴的东西),至少使用此char计数器,它为28个字符。
torcado

我明白你现在在说什么。我解释说“您的程序可以选择将数字n作为输入”,这意味着如果输入为2。我将编辑答案,谢谢!(也可以通过使用字符串而不是数字来保存一些内容)
torcado 2015年

很乐意提供帮助,尤其是>>时。
2015年

2
?!通常优于0=?
Sp3000 2015年

6

JavaScript(ES5),68个字节-25个奖励= 43

alert(Array(1+(+prompt()||2)).join(document.scripts[0].textContent))

(如果出于安全原因您的浏览器不允许运行该代码段,请尝试使用该小提琴http://jsfiddle.net/thePivottt/c3v20c9g/

该脚本仅在至少使用DOM3(带有Node.textContent)和ECMAScript 5(或者可能是旧版本)之后的浏览器中起作用。我试图使它尽可能符合标准并兼容。它还假定脚本位于script文档的第一个元素中。

实际上,它串联了脚本本身的多个副本,这非常棒。请注意,SE上的代码段工具在脚本周围放置了额外的空格。我们可以忽略该空格,.trim()但考虑到该程序在没有SE干预的情况下是完美的,因此我认为没有必要。如果您想看到它运行完美,只需保存此HTML5文件。

<!DOCTYPE html>
<html>
  <head>
    <title>Minimalist HTML5 page</title>
    <script>alert(Array(1+(+prompt()||2)).join(document.scripts[0].textContent))</script>
  </head>
</html>

此脚本使用prompt并且alert因为console.log它不是任何标准的一部分,即使大多数现代的浏览器都使用它也是如此。如果传递的重复数不是有效数字或为空,则默认为2。如果输入为十进制数字,则由于无效的数组长度,程序将崩溃。

该代码使用了JavaScript的一些有趣功能:

  • Array(1+(+prompt()||2))

    • Array(INT) 创建一个INT单元数组。

    • +prompt()接受输入并将其转换为数字。如果我们将输入作为字符串传递,则该Array函数会将其简单地包装在一个元素数组中。

    • +prompt()||2如果为true,则返回输入,否则返回2。

    • 整个代码创建了一个由N个空元素组成的数组,其中N比所请求的重复次数多一个。

  • .join(document.scripts[0].textContent)

    • 数组的join(STRING)方法通过串联所有单元格来创建字符串,并将提供的STRING放在值之间。在此程序中,数组中有N + 1个元素,或者在点之间恰好有N个。结果将是一个包含N倍于提供的STRING的字符串。

    • document.scripts[o]<script>文档的第一个元素。

    • textContentNode情况下,返回里面他们和他们的子节点,包括脚本中的全部文本。


请注意,如果您使用ES6 str.repeat并仍然输出代码本身,则分数会降低到26,但这有点太无聊了:P
Domino

恩,我不知道那26岁来自哪里,现在我33岁了。我可能应该睡一会儿。
2015年

请注意,某些浏览器设置可能会阻止在摘要中使用提示。您可能需要保存它才能运行它。
Domino

6

JavaScript ES6,33-25 = 8

(a=2)=>Array(a*33).fill(0).join``

在线尝试!


我似乎无法使此代码在控制台上运行。这样对吗?“未捕获的SyntaxError:意外令牌=>”
马拉沃斯州

@Malavos,您需要兼容es6的浏览器,例如最新的Firefox。Chrome浏览器不支持默认的args afaik
DankMemes,2015年

我正在使用UCBrowser,但这是正确的!无论如何,它都是基于铬和壁虎。每晚尝试一次,得到“ 000000000000000000000000000000000000000000000000000000000000000000000000000000”。真好!您能帮我解释一下您的代码吗?我是新手。
马拉沃斯

2
@Malavos硬编码33实际上是代码的长度。它创建长度的新阵列33*a,其中a是输入参数默认为2作为每OP,填充它,并返回一个连接字符串。
DankMemes,2015年

2
通过使用一个额外的元素创建数组,您可以填充Arrary(1+a*<length>)join`0`
Shaun H

5

朱莉娅,42字节-25 = 17

print("@"^42((r=readline())>""?int(r):2))

这会使用读取STDIN中的一行readline()。如果为空,即未提供任何输入,则将n定义为转换为整数的输入。否则Ñ为2。然后,我们打印42 ñ @ s到标准输出。


5

Perl,18-25 = -7

print$=x(<>*9||18)

特殊变量$=aka $FORMAT_LINES_PER_PAGE的生命开始于60,因此只需复制一半,即所需字节输出的一半。


1
我有一个非常相似的答案:print$=x9x(pop||2)很好!
唐·黑斯廷斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.