東で最も速いキツネ


15

Hello world!の精神で!繰り返しなし

オプションの改行を使用して、「速い茶色のキツネが怠laな犬を飛び越える」という文字列を出力するプログラムを作成します。プログラム全体で文字を繰り返さないでください。

印刷される文字列に注意してください 、あなたが何らかの形でその制限を周りに取得する必要がありますので、繰り返し文字が。

勝者の条件は、、つまり、最も投票数の多い回答であることに注意してください。勝ちます。

更新:これを少し簡単にするために、繰り返しは許可されますが、最小化を試みる必要があります。繰り返しの少ない(またはまったくない)プログラムは、繰り返しのあるプログラムよりも優先されます。


完全に不可能ではないにしても、これはおそらくあまりにも難しいと思います。 Hello world!繰り返しがなければ、人々は非常にニッチな言語に頼らざるを得ないか、あからさまにタスクを完全に解決することができなかったので、これはかなり難しい。
ホタル14年

3
まあ、それはCでは不可能です。関数を呼び出したり、マクロを使用することはできません。
オベロン14年

繰り返し文字をできるだけ少なくして、指定された文字列印刷することをお勧めします
primo 14年

@FireFlyは答えを得るのに長くはかからなかった:)
SirDarius 14年

3
@tmartinいいえ、そうではありません。リンクされた質問は繰り返しを支持し、現在の質問はそれを罰します。
ゲリット14年

回答:


32

Microsoft Word 97〜2003(および一部の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.

大文字と句読点以外の仕様に一致し、1回の繰り返し-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)

SUM最初にWordを更新すると、出力は次のようになります。

The quick brown fox jumps over the lazy dog.

与えられた構文が正しいかどうかはわかりませんが、それをテストする古いシステムはありません。ただし、新しいバージョンの場合はである必要があります=rand.old(1,1)。最初の1を3-2で置き換えようとしていると思いますが、2010年にrand.oldまたはrandで機能しているようには見えません。
イッツィー14年

ここにはシステムもありません。家に帰るとチェックします。中括弧{ ... }を区切り文字として使用する必要があるかもしれませんが、式はどの関数でも使用できると確信しています。そうでない場合は、修正します!

2
{=SUM(3,-2)}Word 2007で動作を確認できます。しかし、この方法は少し複雑です。まず、フィールドコードを挿入する必要があります(Ctrl + F9)。次に、右クリック=>編集フィールド=>式=>詳細=>式を入力します。なんらかの理由で直接入力しても機能しないためです。フィールドをクリックして、Shift + F9で評価します。追加します=rand.old()
ボブ14年

を使用する必要があります=SUMか、または単に算術演算子を直接使用でき3-2ますか?
supercat

@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回使用されます。
プリモ14年

11
文字を繰り返さないでください」ではなく、「バイトを繰り返さないでください」。
Plutor

3
ティムウィは驚くことではありません。あなたの言語は「繰り返されないキャラクター」の挑戦に最適です。
ピエールアラード14年

13

Perl 6(76文字、ダブルなし)

スクリプト(ボードソフトウェアによってマングルされますが、Thin SpaceとNLおよびLFとタブまでのEn Spaceがあります)

say EVAL    lc q{<the Quiţk Brown fïX jUmpS ůvťɲ Tɨå ìšzY dOg>~&(127.CHR
x
43)}
  • EVAL(大文字にしてくれてありがとう)を使用し<foo bar>、単語区切りとしてすべての特殊なスペース文字をサポートする単語を引用します。
  • say スペースを使用して文字列のリストを結合し、ここでうまく動作します:)
  • 次に~&、127 を使用して、プレーンアスキーにビットシャッフルします。余分な合併症は:'Ŭ'.lcとなっ'ŭ'ているがなるようにs代わりにr私が必要。いくつかの余分な時間を追加すると役立ちます:)

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

Copy-Paste、Latin-1(Ansi)として保存します。

これは、文字列を使用した7バイトのxor-cipherです ¶¥€¼½ˆ• saltをです。

1つの繰り返し文字:$


あなたは使用して、別の3文字に短縮することができ<?=ますが、すでに短いタグを使用しているので、
クリストファーのSalI-Storgaard

申し訳ありませんが、ああ、ちょうど気づいたあなたはすでに使用=
クリストファーのSalI-Storgaard

@KristofferSHansen 繰り返しeval('Return$g=binary;')を回避するために、何らかの暗号形式(おそらくビット反転)で使用することが可能であるべきだと思い$、その後=も同様に解放されます。
primo 14年

開始タグはバイトカウントに含めないでください。
TecBrat

@TecBratファイナル;はタグを閉じることで置き換えることができます:それもカウントされるべきではありませんか?要するに、私は同意しません。コードがそのまま実行されない場合、完全なプログラムではありません。
primo

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との初めてのゴルフ。言語の経験が豊富な方は、気軽に改善してください。私は、変数を2回言及する必要を避けるために、無名関数をポイントフリーにしたかったのですが、それが最終的なメリットになるかどうかはわかりません。


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"

これは、そうです...大文字と小文字を区別しません!(つまり、質問が求めるものを正確に出力しません。)
ミスターリスター14年

6
コマンドラインで入力すると、文字が繰り返されます。
ゲリット14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.