プログラミング言語のアルファベット


69

私たちの仕事は、(英語の)アルファベットの各文字について、その文字で始まる名前の言語でアルファベットを印刷するプログラムを書くことです。

入力: なし

出力:

abcdefghijklmnopqrstuvwxyz

大文字と末尾の改行オプション

ルール

  • 採点メトリックは、プログラミング言語の長さである名前プラスコードの長さ。したがって、Cは1の「ペナルティ」と評価され、GolfScriptは10のペナルティと評価されます。
  • 回答ごとに1つの言語/実装。複数の回答が推奨されます。
  • プログラミング言語は、2011年4月18日にこの投稿を書く前に存在していたはずです。
  • プログラミング言語の名前の最初の文字が英語の文字でない場合、強制的に英語にしないでください。それは別の手紙として扱われます(より少ない競争を意味する)。
  • すべての英文が解決するまで、回答は受け付けられません。

現在のランキング:

誰かが行方不明になったら教えてください。

自動リーダーボード(実験的)


1
ジャンクをstderrに出力できますか?
ピーターテイラー

@ピーター・テイラー:頑張ってください。あなたの質問に答えるには、はい、ジャンクをstderrに出力することは問題ありません(stdoutが正しい限り)。
ジョーイアダムス


2
である*0*5AB1Eと同じ*o*sabieP:?
マジックタコUr

1
@MagicOctopusUrnこのルールのため、問題ではありません2011年4月18日に、この投稿を書く前にプログラミング言語が存在していたはずです。
Kevin Cruijssen

回答:


13

KはK、12文字->スコア:13

`0:_ci97+!26

ソリューションの1つをA +に適応させることができますよね?
ジョーイ

A +のセットアップは少しファンキーです。私は前にそれをやったことがありますが、私は本当にそれのように感じません。(フクロウ、newLISPおよびzshellはすべてターンキーでした。)
ジェシーミリカン

3
私はそれがk2またはk3だと仮定します。k4 / qでは、を使用して7文字で実行できます1 .Q.a;
アーロンデイヴィス14年

あなたは必要ありません`0:または1@codegolfで
ngn

25

Pは(実際)Pietの場合 -57コーデル

ラージバージョン(コーデルサイズ= 6)

pはpiet用-大きい

小型バージョン(コーデルサイズ= 1)

pはpiet-小

Erikのpietインタープリターでテストされ、piet Creatorでnpiet開発されました。

編集:ここに「トレース」バージョン(で生成npiet -tpf)がありますので、それがどのように機能するかを見ることができます。

実行は左上から始まり、時計回りに境界線を回ります。上端と右端が設定されていますa((97)の値の計算にはかなりの数のコーデルが必要です)。ループは下端から始まり、左端に進みます。の値にz達すると、プログラムは最初のセクションの下の断面にPなり、終了します。

画像をクリックして拡大し、詳細を表示します


うーん、ピエトはいつもいい人です。そして、Piet Creatorの動作するWindowsバイナリが横たわっていることはありませんか?(私はすべての依存関係と前提条件を追い詰めるのが面倒だったので、もう少し遊びます。)
ジョーイ

そして、実際には400のコーデルと57のコーディングコーデルではありませんか?(私はここでPietを数える方法についてコンセンサスを得たとは思わない)
ジョーイ

1
@Joey Windows用のPiet Creatorのビルドを作成できるかどうかを確認します。そこでテストしてからしばらく経ちました。あなたはコーデルについて正しいです。プログラムを1行にレイアウトする場合、57コーデル(提供または少数)になりますが、上記のバージョンは(他の言語の空白のように)より目に優しいです。おそらく、Pietの投稿には最小限のソースと人目を引くソースの両方が含まれている必要があります。私はより多くのピートの答えを計画しているので、私たちはより良い決定をします:)
ケーシー

さて、メタに関する質問を開いて、Pietコードの処理方法を明確にするように依頼できます:-)。ずっと前に、Pietソリューションも提出していました。pietdevが非常にバグが多かったのを除けば、Piet CreatorにはQtとそれをビルドするためにいくつかの他のものが必要でした;-)。また、ビットマップエディタを使用するだけでもかなり...面倒です...
Joey

@Joey Piet Creatorには、本当に素晴らしいものになるためにいくつかの重要な機能強化が必要です。できればすぐに追加できることを願っています。最終的には主にPiet Creatorを使用してから、PaintまたはGIMPを使用して色のブロックを移動します。Pietdevは、PCの主なインスピレーションです。PCでフィードバックを得るのは素晴らしいことです。できるだけ早くWindowsをビルドしてください。
ケーシー



12

Wは空白用、72文字->スコア:82

ここに画像の説明を入力してください

[Sp][Sp][Sp][Tab][Tab][Sp][Sp][Sp][Sp][Tab][LF][LF][Sp][Sp][Tab][Tab][LF][Sp][LF][Sp][Tab][LF][Sp][Sp][Sp][Sp][Sp][Tab][LF][Tab][Sp][Sp][Sp][Sp][LF][Sp][Sp][Sp][Sp][Tab][Tab][Tab][Tab][Sp][Tab][Tab][LF][Tab][Sp][Sp][Tab][LF][Tab][Sp][Sp][Sp][LF][LF][Sp][LF][Tab][Tab][LF][LF][Sp][Sp][Sp][Sp][LF][LF][LF][LF]

私はこのバカなものを昨夜機能させるために何年も費やしましたが、ホワイトスペースがコードとしてここに表示されないことがわかりました!その後、私がやめている間に、私のインターネット接続が切断されました。だから、昨夜それを機能させるために私の人生の1時間を無駄にしないように、私は今それを投稿しています。


6
削除されたコメントと解決策から、以前に空白を書いたことがないことは明らかだと思っていたでしょう。どうやら。
ガレス

@Mego私はそれとは何の関係もなかったので、私の名前をこれから外すことができますか?
ガレス

11

AはAPL用、 14  11文字/バイト*→スコア14

⎕UCS 96+⍳26

これは少なくともDyalogとNars2000で機能します。


* APLは、APLシンボルを上位128バイト値にマップする独自の(レガシー)シングルバイト文字セットで記述できます。したがって、スコアリングの目的のために、ASCII文字とAPLシンボルのみを使用する N文字のプログラムは、Nバイト長と見なすことができます。


1
⎕aAPLXで動作します
アダム

大文字と末尾の改行はオプションなので、⎕A動作します。
アダム


8

RはRの場合、19→スコア:20

cat(letters,sep="")

代わりに(20文字):cat(letters、sep = "")
パオロ

letters十分ではありませんか?出力が連続した文字列でなければならないことを指定する仕様がありません。確かに、与えられた例はその形式ですが、「末尾の改行はオプションです」?
ガフィ

@Gaffi:このスレッドでは、他の言語も同じ標準に準拠していると思います。つまり、出力は「abc ... xyz」でなければならず、文字が介在しない必要があります)。ルールを変更して自分のコンテストに勝つことができると思いますが、それはあまり楽しくありません。
ジョーイアダムス

8

PはPython 2、33文字->スコア:39

print'%c'*26%tuple(range(97,123))

1
これはprint'abcdefghijklmnopqrstuvwxyz'... と同じ長さです
nneonneo

@nneonneoだから...それはまだ最小のものです!(この他の退屈でつまらないコードで位置を共有する)。
JBernardo 14

7

RはRuby用、13文字->スコア:17

Matma Rexが思いついたRuby 1.9ソリューション:

print *?a..?z

私のオリジナルのRuby 1.8ソリューション(15文字->スコア:19):

$><<[*'a'..'z']

これは基準に一致しませんか?出力には追加の文字が含まれます。また、問題なければ$><<[*?a..?z]、Ruby 1.9(2文字を削除)になります。
マトマレックス

1
私が想像できる最短の正しいバージョンはprint *?a..?zです。それは同じ長さと私が上で提案したものです。いくつかの奇妙な優先ルールがあり、すべてが爆発する$><<ため、使用できません<<。すべての文字を別々の行に印刷するため、pまたはのputs代わりに使用することはできませんprint
マトマレックス

申し訳ありませんが、これはRuby 1.8用です。Ruby 1.8では、はとArray#to_s同じArray#joinであるため、余分な文字なしでアルファベットを印刷します。しかし、1.9ソリューションの方が確かに短いです。
ヴェンテロ


@George:出力はRuby 1.8からのものです(これはcodepad.org/pvyqzaPPで確認できます)。投稿が言及しているように、これはRuby 1.9のソリューションです。
-Ventero

7

Fは魚(> <>)、19文字->スコア:23

それはとてつもなく美しい言語だからです!

30"`"1+::o&p&"y"(?;

<>>4文字ではなく3文字しかないため、この回答のスコアは22ではありません。スコアで長い名前を使用した理由はありますか。
pppery

@ppperryまあ、言語名はFで始まることとbeで始まることはできません<><
flornquake

1
言語の名前は><><><
TuxCrafting

これは機能していないようですa。ただ印刷されます。tio.run/##S8sszvj/39hAKUHJUNvKKl@tQE2pUknD3vr/fwA
クリス


6

SはScalaの場合、16文字=>スコア21

'a'to'z'mkString

18文字=>スコア23

'a'to'z'mkString""

22文字=>スコア27

('a'to'z')map(print _)




6

Dはdc、17文字→スコア:19

97[dP1+dBD>x]dsxx

出力が「AB」とDCバージョン1.06.95に終了
Wossname

@Wossname echo '97[dP1+dBD>x]dsxx' | dcは、DCバージョン1.07.1
BlackCap

6

CはC用、36 35文字→スコア:36

main(a){for(;putchar(a+++64)-90;);}

(argc)を初期化するのではなく1に等しいと仮定すると、2文字をドロップできます。
ジョーイアダムス

しかし、これはさえ...コンパイルされません
deceleratedcaviar

コンパイルできたベストは59、またはインクルードなしの42でした。#include <stdio.h> main(){for(int a = 27;-a;)putchar(96 + a);}
deceleratedcaviar

ダニエル、ここではMSVC 10で動作します。
ジョーイ

5

WはWindows PowerShell用、22文字→スコア:40

-join[char[]](97..122)

1
うーん、これをWにするかPにするかわからない
ジョーイアダムス

1
技術的にはW です。言語(および製品)の正しい名前はWindows PowerShellであるためです。はい、それは私もバグです。
ジョーイ





4

AはAppleScript用、41->スコア:52

display alert"abcdefghijklmnopqrstuvwxyz"

1
これは投稿してから長い時間がかかりますが"abcdefghijklmnopqrstuvwxyz"、戻り値が結果ペインに出力されるため、を使用できます。
アディソンクランプ

4

MatlabのM、13文字、スコア19

disp('a':'z')

MatlabのM、18文字、スコア24

disp(char(97:122))

1
Matlabは手元にありませんがdisp(..)、この出力を防ぐ必要があると思いますans =
ナブ

正解、回答で変更。
-jpjacobs

4

BはBrainF ***用、38 + 9 = 47

++++[>++++++<-]>[->+>++++<<]>++[->+.<]

セルが256でラップアラウンドする場合、31 + 9 = 40に減らすことができます。

++[>+>++<<+++++]>----->[<.+>++]

4

BはBashの場合:4 + 16 = 20

printf %s {a..z}

または15だけで:

echo {a..z}

フォームの出力a b c ...が許可されている場合(他の多くの回答で見られるように)。


そうは思いません。改行はオプションで、出力は「abcdefghijklmnopqrstuvwxyz」です
ユーザー不明




弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.