プログラミングパズルとコードゴルフ

プログラミング愛好家やコードゴルファーのためのQ&A

14
挿入により素因数の数を最小限に抑える
2つの正の整数AとBを指定すると、BがAにpで挿入されたときに、結果の整数の素因数(多重度をカウント)の数を最小化する位置pを返します。 たとえば、A = 1234およびB = 32の場合、挿入の可能性(pは0から始まる)および対応する素因数に関する情報です。 p | 結果| 素因数| Ω(N)/カウント 0 | 321234 | [2、3、37、1447] | 4 1 | 132234 | [2、3、22039] | 3 2 | 123234 | [2、3、19、23、47] | 5 3 | 123324 | [2、2、3、43、239] | 5 4 | 123432 | [2、2、2、3、37、139] | 6 pが1の場合、結果には最小数の素因数3があることがわかります。したがって、この特定のケースでは1を出力する必要があります。 スペック 結果を最小化する複数の位置pがある場合、それらすべてを出力するか、いずれか1つを出力するかを選択できます。 pには0-indexingまたは1-indexingを選択できますが、この選択には一貫性が必要です。 …

2
サンタがプレゼントを届けるのにどれくらいかかりますか?
サンタさんがプレゼントを届けるのに必要なエルフの数に関係するこのチャレンジを少し前に投稿しました。 人口の増加により、サンタは今年はもう少し迫られています。過去には非常に非同期で動作していましたが、より同期化する実験を始めています。そのため、サンタは、与えられた数のエルフで各地域にプレゼントを届けるのにどれくらいかかるかを知る必要があります。 石炭の重量は過去2年で変化していません。現在よりも重いので、サンタは家のいたずらな人ごとに3つのエルフ、家のいい人ごとに2つのエルフを必要とします。 エルフはクリスマスのために一年中トレーニングをしているので、配達の間に休む必要はありません。彼らはプレゼントを一度に1つの家にしか届けることができず、サンタのそりに戻り、次の家に行く前に次の贈り物を集める必要があります。私が共有する自由がない理由のために、エルフはサンタのそりと家の間を移動する時間を費やしません(しかし、サンタのそりが屋根の上にあるときのみ移動できます)、そして彼のそりは家から家への移動に時間を費やしません。(サンタのそりは、燃料を集めるために家から家へ移動する必要がありますが、私はすでに言いすぎです)。 プレゼントを配達しているエルフは4秒を費やす必要があります*それぞれプレゼントを配達し、石炭を配達しているエルフは5秒を費やす必要があります*サンタ航空管理規則により、石炭粉が付いた手袋はすぐに焼却する必要がありますそりに乗るには時間がかかります)。さらに、家はマップ上で左から右の順番で訪問する必要があり、エルフは現在の家にすべてのプレゼントが配達されるまで他の家にプレゼントを配達することができません。 サンタがこの地域に十分なエルフを持っていると仮定した場合、いたずらリストの誰かにプレゼントを届けるのにかかるのは、家ごとに5秒、みんながいいなら家ごとに4秒かかります。 ただし、前のシーズンとは異なり、このクリスマスサンタは各地域に十分なエルフを持たない可能性があるため、4秒が絶対最小時間*である場合を除き、特定の家にプレゼントを配達するのにかかるいい人と0人のいたずらな人は、0秒かかります。 さらに、家の1つでもいたずらリストに誰かがいる場合、サンタは少なくとも3つのエルフを必要とします。少なくとも1つの家にナイスリストに誰かがいて、誰もいたずらリストに人がいない場合、サンタは少なくとも2つのエルフを必要とします。どの家もクリスマススピリットに含まれていない場合、エルフの数(0を含む)は0秒かかります。 サンタの地図では、家はで表され、*各家はで分割されてい+ます。サンタはまだ他のチャレンジと同じマップを使用していますが、ここでそれらについてのドキュメントを含めます。 家の両側に数字が表示されます。左の数字は家の中のいたずら好きな人の数を表し、右の数字は家の中のいい人の数を表します。片側に番号がない場合は、0として解釈されます。 気が狂ったように聞こえるかもしれませんが、一部の人は「クリスマスが好きではない」ため、家の両側に番号がない場合があります。 サンタの地図の1つは次のようになります。 1*3+2*+*5+*+4*7 サンタのそりに9匹のエルフがいるとしましょう。 (0s)最初の家にはいたずらが1人、素敵な人が3人います。エルフのうち3人が5秒かかって石炭を配達し、6人が4秒かかってプレゼントを配達します。5秒後、サンタのそりは次の家に移動します (5秒)2番目の家にはいたずら2人といい人0人がいます。エルフのうち6人が石炭を配達し、5秒かかります。5秒後、サンタのそりは次の家に移動します (10代)3番目の家にはいたずらが0人、いい人が5人います。エルフのうち8人が4つのプレゼントを配達します(取り残されたものはプレゼントを配達できません)。4秒後、すべてのエルフが戻ってきて、2人はもう1つのプレゼントを渡しに行きます(そりはエルフが戻るのを待ってから次の家に行く必要があります)、さらに4秒かかります (18代)4番目の家はクリスマスの精神ではないので、いたずらな人が0人、素敵な人が0人いて、スキップされます (18代)5番目の家には4人のいたずらな人と7人の素敵な人がいます。これは少し複雑になります... I. 9人のエルフ全員が、3つの石炭を贈ります(t + 0を残し、t + 5を返します)II。5秒後、彼らはすべてそりに戻り、そのうち3人は石炭の最後のプレゼントを届けに行き(t + 5sを残し、t + 10sを返します)、残りの6人は3つの素敵なプレゼントを届けます(t + 5秒、t + 9秒を返します)。 III。4秒後、6人のエルフが戻ってきて、さらに3つの素敵なプレゼントを届けに行きます(t + 9秒のまま、t + 13秒を返します)。 IV。出てから1秒後に、石炭プレゼントを配達していた3人のエルフが戻り、そのうち2人が最後の素敵なプレゼントを配達するために出発します(Leave + 10s、Return t + 14s) (18 + 14 = 32秒)サンタはその地域へのプレゼントの配達を終了します。 ご覧のとおり、サンタがこの地域にプレゼントを配達するには合計で32秒かかります。ただし、これはサンタの地図の1つを単純化しすぎたバージョンでした。通常、サンタの地図には複数の線があり、リストに収まるように正方形になっています。法線マップは次のようになります(\n各行の最後) …
12 code-golf  string 

18
数字で暗号化!
問題: 2人の敵の秘密エージェントが素晴らしい(あなたのための)通信方法を考案しました! 暗号化プロセスの仕組みは次のとおりです。 1)各文字のASCII相当物を取ります。(スペース、数字、または句読点は送信されません) 2)メッセージ内の各文字について、それと同等のASCII文字とその後の文字(存在する場合、存在しない場合は0と見なされる)、乗算されます(この製品は配列/リストに格納されます)合計します(この番号は別のリストにも保存されます)。 3)2つのリスト(合計と製品)が結合され(合計リスト、次に倍数リスト、同じ配列に)、送信されます。 このプロセスを逆にし、この形式で送信されたメッセージを解読できる最小のプログラムを書く必要があります! 入力と出力のペアの例: [173, 209, 216, 219, 198, 198, 225, 222, 208, 100, 7272, 10908, 11664, 11988, 9657, 9657, 12654, 12312, 10800, 0] -> “HelloWorld” [131, 133, 164, 195, 197, 99, 4290, 4422, 6499, 9506, 9702, 0] -> “ABCabc” これはcode-golfであるため、バイト単位の最小のソリューションが優先されます。 エラーメッセージは許可されます。 提出物で指定する場合、プログラムにはlist / 1次元配列またはカンマ区切りの文字列を指定できます。デフォルトは配列/リストです。

10
二重にリンクされたデータを解きます
二重リンクリストは、各ノードがリスト内と次のvalue両方への「リンク」と同様に持つデータ構造です。たとえば、値が12、99、および37の次のノードを考えます。previousnodes ここで、値12および99のnextノードは、値99および37のそれぞれのノードを指します。値が37のnextノードは、リスト内の最後のノードであるため、ポインターを持ちません。同様に、値99および37のpreviousノードはそれぞれのノード12および99を指しますが、12にはありませんprevious指しますが、リストの最初のノードであるためポインター。 セットアップ 実際には、ノードの「リンク」は、メモリ内の前および次のノードの場所へのポインターとして実装されます。私たちの目的では、「メモリ」はノードの配列であり、ノードの場所は配列内のインデックスになります。ノードは、形式の3タプルと考えることができます( prev value next )。上記の例は、次のようになります。 ただし、代わりに次のようになります。 任意のノードから開始して、previousリンク(赤い矢印の原点として表示)をたどってその前のノードに移動し、nextリンク(緑の矢印)を使用して後続のノードを検索し、すべてのノードの値を順番に取得できます。[12, 99, 37]。 上記の最初の図は、配列でとして表すことができます[[null, 12, 1], [0, 99, 2], [1, 37, null]]。次に、2番目はになります[[2, 99, 1], [0, 37, null], [null, 12, 0]]。 チャレンジ ノードの配列とノードのインデックスを入力として受け取り、同じ二重リンクリスト内のノードの値をリスト順に返すプログラムを作成します。 合併症 「メモリ」には、常に1つのリストのノードが含まれているとは限りません。複数のリストが含まれる場合があります。 上記の配列には、利便性のために色分けされた3つの二重リンクリストが含まれています。 インデックスのノードは7、10、1、4、3、12(のみ示すnext煩雑さを軽減するためのリンク。クリックすると拡大します): この配列とこれらのインデックスのいずれかが与えられると、プログラムは値を順番に返す必要があります[0, 1, 1, 2, 3, 5, 8]。 インデックスのノード9: インデックスを指定する9と、プログラムが返され[99]ます。 インデックスのノード11、8、0、6、2: これらのインデックスのいずれかを指定すると、返されるはずです [2, 3, 5, 7, …

2
サイコロクリケットのゲームをプレイする
サイコロクリケットは、私が子供の頃に紹介されたゲームであり、それ以来何年もの間、時間を渡す方法として使用されてきました。ウィキペディアのページが見つからなかったため、以下のルールについて説明します。 サイコロクリケットルール 前提 ダイスクリケットの試合得点に似たゲームでクリケットをあなたがそれを見るようではなく、より見て、その結果を記録し、あなたがしているダイスをロールし、結果を記録します。 結果は、下部に表示される表に記録されます。 表示 Dice Cricketは特定のディスプレイを使用して、発生しているすべての情報を表示します。 テーブルには11行あります。各行はバッターを表します。行のレイアウトを以下に説明します。 +------+------------------------------+---------+-----+ | Name | Runs | How Out |Score| +------+------------------------------+---------+-----+ 名前:名前は、大文字または小文字の文字のみで構成される文字列である必要があります ラン:バッターは30個のボールに直面できます。各ボールはのいずれかです1 2 4 6 . /。これについては、以下で詳しく説明します ハウアウト:バッターが出ていた方法。のいずれかBowled, LBW (Leg Before Wicket), Caught, Retired or Not Out スコア:のすべての数値の合計 Runs ゲームの仕組み ゲームでは、ピッチには常に2人の打者がいます。最初のプレーヤーはデフォルトで現在のバッターで、2番目のプレーヤーは「オフ」バッターです。 ゲームは「ボール」で構成されています。クリケットの試合の各ボールはサイコロで表されます。各ロールは異なるコマンドを実行します。 1、2、4、6は打者のスコアを大きくします。1がロールされた場合、現在の打者は「オフ」打者になり、「オフ」打者は現在の打者になります 3は「ドットボール」で、何も起こらないことを意味します。このRunsセクションでは、a .およびスコア0 として表され0ます。Aを使用して表すことはできません。 5は改札です。5が出た場合、現在の打者は「アウト」になります。これは、a /がランに追加され、それ以降は打者がランを記録できなくなることを意味します。その後、打者は打たなかった次の打者と交換されます。How Outセクションは、アウト取得する可能性のある方法のランダムな選択です。Bowled, LBW, Caught …

3
アドベントチャレンジ4:現在の組立ライン!
<<前 へ次へ>> サンタはエルフが一晩盗んだプレゼントをすべて再生産することができました!今、彼はそれらをパッケージングのために組立ラインに送らなければなりません。彼は通常、組み立てラインを監視するカメラを持っています。エルフが良い仕事をしていることを確認するためと、組み立てラインの写真が広告ポスターできれいに見えるためです[引用が必要] 残念ながら、彼のカメラは壊れたので、彼はあなたに組立ラインがどのように見えるかについてのシミュレーションを引き出して欲しいと思っています! 組立ラインを最大限の効率で機能させ、エラーや故障のリスクを減らすために、現在のすべてのボックスは同じ幅になっているため、コンベアベルトに完全に収まります。 チャレンジ 寸法で表されたプレゼントのリストが与えられたら、すべてのプレゼントを含むコンベアベルトを出力します。 プレゼントは次のように描かれます。 +----+ / /| +----+ | | | + | |/ +----+ このプレゼントには幅1、高さ2、および長さ4があります。プラス記号は辺の長さにはカウントされないため、長さ4のプレゼントは実際には6桁にまたがっています。 すべてのプレゼントは、最も近い2つのキャラクターの間に1つのスペースを空けて隣り合わせに描かれます。つまり、現在のボックスにlength lとwidthがあるw場合、次の現在のボックスの左下l + w + 4隅は、前のボックスの左下隅のちょうど右側に位置するように、プレゼントの左下隅が間隔をあけられます。 存在するすべてのボックスが描画された後、最後の各行のボックス間のスペースwidth + 2をアンダースコアで置き換えることにより、コンベアベルトが描画されます。 現在の箱のための最終的な出力(l, w, h)のは、[(4, 1, 2), (8, 1, 3), (1, 1, 1)]次のようになります。 +--------+ +----+ / /| / /| +--------+ | +-+ +----+ …

16
範囲の素数を持つ最初と最後の素数
チャレンジ 特定の正の整数範囲について、例外的に0を含む、完全に素数の数字で構成される最初と最後の素数を見つけます(数字の場合、0-2の範囲は2-2を出力します)。範囲は包括的です。数字が見つからない場合、期待される出力は0です。そのような数字が1つしかない場合、期待される出力はその数字の2回です。 例 1〜100の範囲では、最初の素数は2で、最後の素数は73です(7と3は素数です)。 70〜80の範囲では、最初の素数は73で、最後の素数も73です(指定された範囲には正しい数が1つしかないため、2回返します)。 190〜200の範囲では、正解がないため、0を返します。 2000-2100の範囲では、最初の素数は2003で、最後は2053です(数字0は省略しますが、他のすべての数字は素数です) これはcode-golfなので、バイト単位の最短コードが勝ちです! すべての標準的な抜け穴が適用されます。 入力 入力として2つの整数を自由に受け入れることができますが、fit、stack、function argument(s)、CLI argument、stdinが表示される場合があります。 2つの整数のみを受け取る必要があります。 出力 あなたはしなければならないのいずれか(この場合には、彼らは何とか分離しなければならない)(あなたの言語がサポートしている場合は、タプル、配列、マルチリターン)、結果を返すスタックにそれを残す、またはそれを印刷します。 出力の順序は関係ありません。 先頭/末尾のブラケットと改行を使用できます。 答えがあれば、たとえ同じであっても、2つの数字を返す必要があります。 応答がない場合は、0を返す必要があります。

22
交互ビットスミアリング
前書き この課題では、整数のバイナリ表現の末尾のゼロをに設定する必要があります010101…。これは例を使用して説明するのが最適です。 整数を指定する400と、最初のステップはそれをバイナリに変換することです: 110010000 ご覧のとおり、5番目のビットは最下位1ビットであるため、そこから開始して下位ゼロを次のように置き換え0101ます。 110010101 最後に、それを10進数に変換します。 405 チャレンジ 正の整数が返されると、上記で定義されたプロセスの対応する結果値が出力されます。 ルール このシーケンスは、少なくとも1 1ビットの整数に対してのみ定義されるため、入力は常に≥1になります 代わりに、入力を文字列、数字のリスト(10進数)として受け取ることができます 無効な入力を処理する必要はありません テストケース 中間ステップを含むいくつかのテストケースを以下に示します(これらを印刷/返却する必要はありません)。 In -> … -> … -> Out 1 -> 1 -> 1 -> 1 2 -> 10 -> 10 -> 2 3 -> 11 -> 11 -> 3 4 -> 100 -> 101 …

5
信頼できない友人のための銀行
前書き あなたはあなたの裏庭で、あなたのメイクアップされた国で財務大臣としての仕事を得ました。あなたとあなたの信頼性の低い友人のために、あなたの国であなた自身の銀行を作ることにしました。友人を信用していないため、すべての取引を検証するプログラムを作成して、友​​人が構成通貨を使い果たして経済を台無しにするのを防ぐことにしました。 仕事 開始残高とすべてのトランザクションを考えると、誰かが使いすぎたすべてのトランザクションを除外し、使い過ぎた人(これは閉鎖された口座への使いすぎを含む)がブロックするようになります。 /彼女の銀行口座。 入出力 入力としての2つのリストAと出力としてBのリストC。Aは、形式の各アカウントの開始残高です[["Alice", 5], ["Bob", 8], ["Charlie", 2], ...]。Bフォーマットとの取引のリストである手段ボブがアリスの3通貨単位を支払うことを望んでいます。と同じ形式にする必要があります。、および任意の合理的な形式にすることができます。[["Bob", "Alice", 3], ["Charlie", "Bob", 5], ...]["Bob", "Alice", 3]CBABC テストケース A: [["Alice", 5], ["Bob", 2]] B: [["Alice", "Bob", 5], ["Bob", "Alice" 7]] C: [["Alice", "Bob", 5], ["Bob", "Alice" 7]] A: [["A", 2], ["B", 3], ["C", 5]] B: [["C", …
12 code-golf 

4
パスワードを見つける
通常のN桁のコンビネーションロックは、N個の回転ディスクで構成されています。各ディスクには数字の0から9が順番に刻まれており、それらを開くには正しいパスワードに変える必要があります。明らかに、パスワードがわからない場合は、ロックを解除する前に最大10 N回試行する必要があります。それは面白くない。 それでは、コンビネーションロックの変形を考えてみましょう。距離を明らかにするロックと名付けてください。 距離を明らかにするロックを開く試みが失敗するたびに、ロックを解除するための最小数の動きに応答します。 1つの動きは、1つの位置による回転として定義されます。たとえば、890〜の1つの動き899と〜の9つの動きが137必要952です。 チャレンジ パスワードが不明な距離を明らかにするロックがある場合は、プログラムが長くなりすぎないようにしながら、最小限の試行回数(移動ではない)でロックを開こうとします。 ルールとスコアリング stdinから入力し、stdoutに出力する完全なプログラムを作成する必要があります。プログラムは次のように入出力を行う必要があります。 Start Input an integer N (number of digits) from stdin Do Output a line containing decimal string of length N (your attempt) to stdout Input an integer K (response of the lock) from stdin While K not equal 0 End プログラムは最大N …

2
このpythonコードを短縮するにはどうすればよいですか?
ここに短縮したいコードがあります。 n=input() while n: s=raw_input() x,r,g,b=(int(x) for x in s.split()) a=x/r%2 c=x/g%2 d=x/b%2 r=((a*10+c)*10)+d if r==0:e="black" elif r==100:e="red" elif r==1:e="blue" elif r==10:e="green" elif r==101:e="magenta" elif r==11:e="cyan" elif r==110:e="yellow" else:e="white" print(e) n-=1 入力:3 4643 5913 4827 9752 5583 5357 5120 9400 2025 5475 4339 8392 出力: black yellow black
12 code-golf  tips  python 

1
文字列を破壊します!
チャレンジ 文字列の入力が与えられたら、その破壊されたバージョンを出力します。 プロセス P r Pr r o o o g g g r r r rogr r a -> a -> a -> a -> a -> -> -> -> -> m m m m m m m m m m mmar m i i i i i i …

7
音部記号間の変換
あなたが去る前に、あなたはこの挑戦をするために多くの楽譜を理解する必要はありません。 説明 標準的な楽譜では、音部記号はページを横切って音符への参照ポイントとして機能し、どの音符を演奏するべきかを知らせます。高音部記号と低音部記号にまだ慣れていない場合は、ここから説明します Wikipediaのください。 音部記号は、音符のピッチを示すために使用される音楽記号です。ステーブの先頭にある行の1つに配置され、その行のノートの名前とピッチを示します。この行は、ステーブの他の行またはスペース上のノートの名前を決定する基準点として機能します。 上の画像では、線の上半分がト音記号であり、 下半分は低音部記号で、 高音部記号を見るとわかるように、一番下の行のノートはEです。(このチャレンジでは、音部記号の外側の音符は数えません)低音部記号の一番下の線は Gです。この課題を完了するには、次のことを行う必要があります。 チャレンジ 次のいずれかの形式の入力(任意)を指定して、反対の音部記号に変換します。高音部記号と低音部記号のどちらであるかは、言語のTruthey / Falsey値(2つの値だけでなく)になります。 F#T または F#True または F#Treble だがしかし F#-1 または F#4 スペースと大文字はオプションであり、フラットは表示されず、末尾の空白は許可されません。 Input Expected Output E Treble G F Treble A F# Treble A# G Treble B G# Treble C A Treble C A# Treble C# B Treble D …

15
入れ子になった数字
正の整数の配列を考えます: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, ... 次に、それらを連結します。 1234567891011121314151617181920212223242526... そして、それらを可変長のチャンクに分割します。各長さは、N番目の正の整数に等しくなります。 [1][23][456][7891][01112][131415][1617181][92021222][324252627][2829303132] ... --------------------------------------------------------------------------- 1 2 3 4 5 6 7 8 9 10 ... 仕事 整数N(1インデックスの場合は正、0インデックスの場合は非負)を指定すると、タスクはN番目のチャンクの数字のデルタの合計(連続する数字の差)を出力します。 デフォルトで禁止されている抜け穴が適用されます。 標準入出力メソッドが適用されます。 Nに対して0または1のインデックスを選択できます。 シーケンスは1で始まる必要があります。 これはcode-golfで、バイト単位の最短コードが勝ちます。 例とテストケース 1インデックス付きテストケース。0のインデックスが必要な場合は、Nを減らします。 N, Chunk, Deltas, Sum 1 -> 1 -> [] …

6
私の「ゴルフ前」のゴルフC
バックグラウンド 私の場合は、コード・ゴルフ Cでの提出、私は処理ツールを必要としています。他の多くの言語と同様に、空白はCソースではほとんど関係ありません(常にではありません!)-それでもコードは人間にとってはるかにわかりやすいものになります。単一の冗長な空白を含まない完全にゴルフされたCプログラムは、ほとんど読み込めません。 そのため、空白やコメントを含むコードゴルフの提出のためにCでコードを書くのが好きなので、プログラムは書き込み中にわかりやすい構造を保ちます。最後のステップは、すべてのコメントと余分な空白を削除することです。これは退屈で心のない作業であり、コンピュータープログラムのインターンが実際に行う必要があります。 仕事 次の規則に従って、「事前ゴルフ」されたCソースからコメントと冗長な空白を削除するプログラムまたは関数を作成します。 \行の最後の文字として(バックスラッシュ)がある行継続。これを見つけた場合は、次の行を同じ論理行の一部として扱う必要があります(たとえば、他の操作を行う前に、\および次の行\n(改行)を完全に削除できます)。 コメントは、で始まる1行形式のみを使用し//ます。したがって、それらを削除するには//、文字列リテラルの外側で遭遇する論理行の残りを無視します(以下を参照)。 空白文字は(スペース)、\t(タブ)および\n(改行なので、ここでは論理行の終わりです)。 空白のシーケンスを見つけたら、その周囲の空白以外の文字を調べます。もし 両方とも英数字またはアンダースコア(範囲[a-zA-Z0-9_])または 両方とも +か 両方とも -か 前のものは/、次のものは* 次に、シーケンスを単一のスペース()文字にます。 それ以外の場合は、シーケンスを完全に削除します。 このルールにはいくつかの例外があります。 プリプロセッサディレクティブは、出力の独自の行に表示する必要があります。プリプロセッサディレクティブは、次で始まる行です#です。 文字列リテラルまたは文字リテラル内では、空白を削除しないでください。任意の"(二重引用符)/ '直接バックスラッシュの奇数が付け加えていません(単一引用符)は、( \)が開始または終了する文字列リテラル / 文字リテラルを。文字列と文字リテラルは、それらが開始した同じ行で終了することが保証されています。文字列リテラルと文字リテラルはので、入れ子にすることができない'内部の文字列リテラルと同様に、"内部の文字はリテラル特別な意味を持っていません。 I / O仕様 入力と出力は、改行文字を含む文字シーケンス(文字列)、または改行文字を含まない文字列の配列/リストのいずれかでなければなりません。配列/リストの使用を選択した場合、各要素は行を表すため、改行は暗黙的です各要素の後にに追加されます。 入力は有効なCプログラムのソースコードであると想定できます。これは、印刷可能なASCII文字、タブ、改行のみが含まれることも意味します。不正な形式の入力に対する未定義の動作は許可されています。 前後の空白/空行は許可されません。 テストケース 入力 main() { printf("Hello, World!"); // hi } 出力 main(){printf("Hello, World!");} 入力 #define max(x, y) \ x > …
12 code-golf  c 

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