东方最快的狐狸


15

本着世界你好的精神!没有重复

编写一个程序,用可选的换行符打印字符串“棕色狐狸跳过懒狗”。整个程序不得重复任何字符。

请注意,要打印的字符串 确实会重复字符,因此您必须以某种方式解决该限制。

注意,获胜条件是,即投票最高的答案获胜。

更新:为了使操作更简单,允许重复,但是您必须尝试将其最小化。具有较少(或没有)重复的程序将优先于具有某些重复的程序。


恐怕这可能太难了,即使不是完全不可能的话。 Hello world!没有重复就很难了,以至于人们不得不诉诸于非常利基的语言,或者彻底无法完全解决这一任务,而在此之上,这则要困难得多。
FireFly 2014年

3
好吧,在C语言中肯定是不可能的。您不能调用函数或使用宏。
Oberon 2014年

我建议:用最少的重复字符打印给定的字符串。
2014年

@FireFly很快就得到了答案:)
SirDarius 2014年

3
@tmartin不,不是。链接的问题倾向于重复,而当前的问题则不利于重复。
gerrit 2014年

Answers:


32

从97到2003的Microsoft Word(和某些Mac Word版本)— 10个字符

没有重复,但不完全符合规格-10个字符:

=rand(2,1)

输出:

The quick brown fox jumps over the lazy dog.
The quick brown fox jumps over the lazy dog.

符合规格,除了大写和标点符号外,重复一遍-10个字符:

=rand(1,1)

输出:

The quick brown fox jumps over the lazy dog.

较新版本的Microsoft Word使用 =rand.old(1,1)d与和重复的形式1

可能有一种方法可以将字段{=SUM(3,-2)}用作rand()的输入,但是我的安装存在字段问题-即,它们无法正常工作...

“鲍勃”已经确认{=SUM(3,-2)}(有些困难)可以用来代替第一个1,但是=重复出现...

=rand({=SUM(3,-2)},1)

如果让Word先更新SUM,则输出为:

The quick brown fox jumps over the lazy dog.

我不确定给定的语法是否正确,但是我没有任何较旧的系统可以对其进行测试。对于较新的版本,应该为=rand.old(1,1)。我想您正在尝试使用3-2代替前1个,但在rand.old或rand看来,它似乎在2010年不适用于我。
Iszi 2014年

我这里也没有系统,到家后会检查。可能需要使用大括号{ ... }作为分隔符,但是我很确定表达式可以在任何函数中使用。如果没有,我会修改!

2
我可以{=SUM(3,-2)}在Word 2007中确认工作。但是该方法有点复杂。首先,您必须插入一个域代码(Ctrl + F9)。然后,右键单击=>编辑字段=>公式=>高级=>键入公式。因为无论出于什么原因,直接输入都不起作用。现在,单击字段并使用Shift + F9进行评估。并=rand.old()
Bob

是必须使用=SUM还是直接使用算术运算符3-2
2014年

@supercat-我们尝试过,由于某种原因,Word不接受将表达式作为的参数=rand(),例如=rand(3-2,1)会很完美。我实际上没有尝试过=rand({=3-2},1),但应该以相同的方式工作,但要重复=

17

滑动 -36个字符

덆둥긇굵늖꽫긆깲닷덮긂롦닲롸껂걪덖륰댲걯덦넬댢건늆넠닆굺뎒걤닶댬首坼

(预计输入为空)

说明:

Push the string "the quick brown ,fo,x, jumps ove,r the lazy dog,"
덆둥긇굵늖꽫긆깲닷덮긂롦닲롸껂걪덖륰댲걯덦넬댢건늆넠닆굺뎒걤닶댬
Retrieve last character from the string (",")
首
Regular expression string-split
坼

结果是list ["the quick brown ", "fo", "x", " jumps ove", "r the lazy dog", ""],它会自动连接成单个字符串以进行输出。


1
我数了105个字节,更不用说几次重复了。Char 235例如使用20次。
primo 2014年

11
“不得重复任何字符 ”,而不是“不得重复任何字节”。
Plutor

3
我对Timwi感到惊讶,您自己的语言非常适合“无重复字符”挑战。
皮埃尔·阿劳德

13

Perl 6(76个字符,无双打)

脚本(将由板卡软件破坏,但En Space最多为Thin Space,NL和LF以及制表符)

say EVAL    lc q{<the Quiţk Brown fïX jUmpS ůvťɲ Tɨå ìšzY dOg>~&(127.CHR
x
43)}
  • 它使用EVAL(再次感谢您将其大写)和 <foo bar>引用支持所有特殊空格字符的单词作为单词分隔符。
  • say 使用空格加入字符串列表,在这里效果很好:)
  • 接下来,我使用~&和127来将shuffle转换为纯ascii。额外的复杂性:'Ŭ'.lc变得'ŭ'如此,s而不是r我所需要的。增加128次可以帮助:)

带有反斜杠的版本转义而不是Unicode字符,以显示它们都是不同的

say\x[3000]EVAL\x[9]lc q{<the\x[2003]Qui\x[163]k\x[2004]Brown\x[2005]f\x[EF]X\x[2006]jUmpS\x[2007]\x[16F]v\x[165]\x[272]\x[2008]T\x[268]\x[E5]\x[2009]\x[EC]\x[161]zY\x[200A]dOg>~&(127.CHR\x[0A]x\x[0D]43)}

如果要验证它们是否都是唯一的,请使用此脚本(我Qb"string"以前仅使用反斜杠转义符进行基本引用)

.say for 
Qb"say\x[3000]EVAL\x[9]lc q{<the\x[2003]Qui\x[163]k\x[2004]Brown\x[2005]f\x[EF]X\x[2006]jUmpS\x[2007]\x[16F]v\x[165]\x[272]\x[2008]T\x[268]\x[E5]\x[2009]\x[EC]\x[161]zY\x[200A]dOg>~&(127.CHR\x[0A]x\x[0D]43)}"
.comb.Bag.grep(*.value > 1).map: {.key.ord.base(16) ~ " $_"  }

或直接使用执行

EVAL Qb"say\x[3000]EVAL\x[9]lc q{<the\x[2003]Qui\x[163]k\x[2004]Brown\x[2005]f\x[EF]X\x[2006]jUmpS\x[2007]\x[16F]v\x[165]\x[272]\x[2008]T\x[268]\x[E5]\x[2009]\x[EC]\x[161]zY\x[200A]dOg>~&(127.CHR\x[0A]x\x[0D]43)}"

10

PHP-67字节

<?echo$g^¶¥€¼½ˆ•.${~˜}=ÂÍåœÌýü¡¦Åþ¾’‹Ï†£‘ƲáºëÓâæݗߙ󖎸·³ø‰ï®ÜØÔ;

复制粘贴,另存为Latin-1(Ansi)。

这是一个7字节的异或密码,使用字符串¶¥€¼½ˆ•表示盐。

一个重复的字符:$


<?=由于您已经在使用短标签,因此可以通过使用它来将其再缩短3个字符
Kristoffer Sall-Storgaard 2014年

啊,对不起,只是注意到您已经使用了=
Kristoffer Sall-Storgaard,2014年

@KristofferSHansen我认为应该可以以eval('Return$g=binary;')某种神秘的形式使用(也许是位反转)以避免$重复,然后=也可以将它们释放。
primo 2014年

开头标记不应包含在字节数中。
TecBrat 2014年

@TecBrat决赛;可以用结束标记代替:也应该不算在内吗?简而言之,我不同意。如果您的代码未按原样运行,则它不是一个完整的程序。
primo 2014年

0

Haskell,71个字符

map(\c->chr$mod(ord c)128)"tŨeఠquiţkĠbŲɯwnȠfѯxРjѵŭŰsܠůvťѲठѴѨѥਠlšzyଠɤկg"

另一个7位模解决方案。

重复字符:

c 3
d 2
m 2
o 2
r 2
( 2
) 2
" 2

第一次与Haskell打高尔夫球;任何使用该语言的经验丰富的人,请随时进行改进。我想使匿名函数变得无意义,以避免不得不两次提及变量,但是我不知道这是否有净收益。


0

JS,35岁

btoa("¶ªº'$nº0ú1驲ޮØ^¬òv")

(是的...重复双引号。输出错误。这不是一个认真的答案。)


-2

批处理脚本:7个字节

echo %1

如果脚本名为hello.bat,请在命令行中键入以下内容:

hello.bat "The quick brown fox jumps over the lazy dog"

就是这样,不区分大小写!(我的意思是,它并不能完全打印出问题的要求。)
李斯特先生,2014年

6
通过在命令行中键入,您将重复字符。
格里特
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.