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

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

6
ASCII都市の再構築
+-+ +-+ | | +-+ +-+ | | | | | | | | +-+ +-+ +-+ +-+ ASCIIvilleの人々は都市を再建し、新しい青写真をスケッチしています。あなたの仕事は、彼らが望む建物の数に基づいて、新しい都市を描くことです。 入力は、建物の数です。各建物は、入力の高さの半分(奇数の場合は切り上げ)であり、建物の上部と下部は含まれません。 の基本的な例を描きましょう 4 +-+ +-+ +-+ +-+ | | | | | | | | | | | | | | | | +-+ +-+ +-+ +-+ ここでわかるように|、入力が4だったため、すべての建物に2つのがあります。しかし、キャッチがあります!(つまり、上記の例は正しくなく、この投稿の上部の例は4の実際の出力です) 素数ではない各建物について、その高さは1つ下がります。数はで割り切れる場合は3、5、または10、それはより1ダウンします。それらの数値の2つ以上で割り切れる場合、差し引かれる金額は合計されます(10は10と5で割り切れ、素数ではないため、3が差し引かれます)。 の入力の例を見てみましょう5。 +-+ …

4
MIDIトラックを表示する
バックグラウンド MIDIファイルは、WAVまたはMP3オーディオファイルとはまったく異なります。MP3およびWAVファイルには、オーディオの「録音」を表すバイトが含まれています。一方、MIDIファイルには、MIDIイベントに格納された一連のMIDIメッセージがあります。これらのメッセージはトラックに保存され、トラックのコレクションがMIDIシーケンスを構成します。MIDIシーケンスのイベントはシーケンサーによって分析され、そのメッセージをシーケンサーからシンセサイザーの受信機に送信できます。 ほとんどの場合、MIDIイベントに保存されるMIDIメッセージは、特定のノートを演奏するようシンセサイザーに指示するノートオンメッセージ、またはノートの再生を停止するようシンセサイザーに指示するノートオフメッセージです。これらのメッセージには2つのデータバイトが含まれており、1つ目はシンセサイザーにノートのベロシティを通知し(ベロシティーが大きいと音が大きくなります)、2つ目はシンセサイザーに再生するノートを伝えます(つまり、ミドルC)。イベント自体には、メッセージをいつ送信するかをシーケンサーに伝える目的に役立つチックも含まれています。 チャレンジ 課題は、シングルトラックMIDIシーケンスで一連のノートオンおよびノー​​トオフMIDIメッセージを分析し、特定のノートがオンのとき、オフのとき、およびこれらのノートの速度。チャートの垂直軸は音価を表し、以下に説明するようにラベル付けする必要があり、水平軸はMIDIティックで時間を表します(ただし、複雑さと間隔の問題を減らすためにラベルは付けないでください) 入力は、それぞれが一連の整数値を含む4つの個別の配列またはリストです。一連の整数値を持つ4つのサブ配列/サブリストを含む2次元配列またはリスト。またはその他の便利な手段。これは、トラック内のノートオンおよびノー​​トオフメッセージを含むコレクションMIDIイベントを表します。これらの配列の最初の値は、音符、2番目のベロシティ、3番目のノートオンイベントティック、4番目のノートオフイベントティックを指定します。たとえば、次のような4つの配列がある場合: {60, 62, 64, 65, 67} {20, 40, 60, 80, 100} { 0, 4, 8, 12, 16} { 2, 6, 10, 14, 18} 各配列の最初の要素を分析すると、次の2つのイベントが得られます。NoteOnコマンド、note 60(中央C)、およびノー​​ト速度20のメッセージを持つティック0のイベント。ティック2のイベントには、同じノートとベロシティを持つノートオフコマンドを持つメッセージがあります。 ルール チャートは、左側に0から127までの数字(音符の値を表す)、音符の開始時、各音符の長さ(音符のオフティックから音符のオンティックを引いたもの)、および音符のベロシティを表示する必要があります。ノートを表すシンボルは、ベロシティに依存します。 0-15: O 16-31: = 32-47: # 48-63: - 64-79: @ 80-95: + 96-111: 0 112-127: * 次のことを想定できます。 ノートとベロシティの値は、[0、127]の範囲内になります。 …

11
グリッド交差シーケンス
グラフ用紙を使用して、mユニットを右に移動し、nユニットを上に移動する傾斜線を引くと、n-1水平m-1グリッド線と垂直グリッド線が順番に交差します。そのシーケンスを出力するコードを書きます。 たとえば、次のようにm=5なりn=3ます。 おそらく関連:ユークリッドリズムの生成、フィボナッチタイリング、FizzBu​​zz 入力:m,n比較的素数である2つの正の整数 出力:交差を2つの異なるトークンのシーケンスとして返すか印刷します。例えば、文字列とすることができるHとV、のリストTrueとFalse、または0のと1別の行に印刷されたの。トークンが常に同じであり、たとえば可変数のスペースではない限り、トークン間にセパレーターを使用できます。 テストケース: 最初のテストケースでは、空の出力が得られるか、まったく出力されません。 1 1 1 2 H 2 1 V 1 3 HH 3 2 VHV 3 5 HVHHVH 5 3 VHVVHV 10 3 VVVHVVVHVVV 4 11 HHVHHHVHHHVHH 19 17 VHVHVHVHVHVHVHVHVVHVHVHVHVHVHVHVHV 39 100 HHVHHHVHHVHHHVHHVHHHVHHVHHHVHHHVHHVHHHVHHVHHHVHHVHHHVHHHVHHVHHHVHHVHHHVHHVHHHVHHVHHHVHHHVHHVHHHVHHVHHHVHHVHHHVHHHVHHVHHHVHHVHHHVHHVHHHVHH 形式で(m,n,output_as_list_of_0s_and_1s): (1, 1, []) (1, 2, [0]) (2, 1, [1]) (1, …

15
Insta-Name…コーダーを追加するだけです!
英語では、発音可能ナンセンス文字の組み合わせを作るための確実な方法は、例えば、完全にアウト子音・母音のペアのそれを作るためにある呉 KO PA ヘクタール、または、私 FA RO、子音が続く、最初の母音。 チャレンジ: ユーザーが指定した文字数を指定すると、この原則を使用してランダムな名前を作成するプログラムまたは関数を作成します。とても簡単です。 入力: 出力で必要な文字数を指定する2以上の整数。入力は、STDIN、コマンドライン引数、または関数引数から取得できます。 出力: ランダムに選択された子音と母音のペアを含む、指定された長さの文字列。STDOUTまたは最も近い代替に出力するか、関数の場合に返すことができます。 ルール: 英語のアルファベットの各子音は、各ペアの最初の文字に対して選択される確率が等しくなければならず、英語のアルファベットの各母音は、各ペアの2番目の文字に対して選択される確率が等しくなければなりません。 文字のペアを繰り返すことができます。 これは名前なので、最初の文字は大文字にする必要があります。 入力が奇数の場合、名前でランダムに選択された文字のペアの末尾にyまたはhを追加する必要があります。yまたはhの選択もランダムにする必要があります。 標準的な抜け穴は許可されていません。 バイト単位の最小コードが優先されます。 レターの定義: 子音: bcdfghjklmnpqrstvwxyz 母音: aeiou I / Oの例: Input: 6 Output: Mefaro Input: 9 Output: Wukohpaha 楽しい!
17 code-golf  random  word 

6
原始準完全数を見つける
半完全数 半完全/擬似完全数は、その除数の一部またはすべての和(それ自体を除く)に等しい整数です。すべての約数の合計に等しい数は完全です。 Divisors of 6 : 1,2,3 6 = 1+2+3 -> semiperfect (perfect) Divisors of 28 : 1,2,4,7,14 28 = 14+7+4+2+1 -> semiperfect (perfect) Divisors of 40 : 1,2,4,5,8,10,20 40 = 1+4+5+10+20 or 2+8+10+20 -> semiperfect 原始的 原始半完全数は、半完全除数のない半完全数です(それ自体は除く:)) Divisors of 6 : 1,2,3 6 = 1+2+3 -> primitive Divisors of …

29
n番目の三項
n番目の3項を、nを返し、次の形式の3項として定義します。 1 ? 2 ? 3 ? n - 1 ? n : 0 : 0 : 0 # n - 1 zeroes 入力nを与えてn番目の3項を出力または返す関数または完全なプログラムを作成します。コードゴルフ。 テストケース 0 #=> undefined behaviour 1 #=> 1 2 #=> 1 ? 2 : 0 3 #=> 1 ? 2 ? 3 : 0 : 0 …
17 code-golf  string 

3
Pythonでユーザー入力を取得するための短い方法はありますか?
これは挑戦ではありません。19バイト未満のpython(2または3)の2つの別個の変数にユーザー入力を取得することが可能なのかどうか疑問に思っています。これらはすべて私が得ることができる最短です: a,b=input(),input() a=input();b=input() (newline replaced with semicolon for readability) i=input;a,b=i(),i() これを行う短い方法はありますか?
17 code-golf  tips  python 

8
地震の分析
バックグラウンド の ランダムドミノオートマトンは、セルオートマトンに触発された地震のためのおもちゃのモデル、です。この課題におけるタスクは、このモデルの単純化されたバージョンをシミュレートし、そこからデータを収集することです。 オートマトンはビット配列Aで定義され、k地震が発生する可能性のある断層線を表します。配列は境界で折り返されます。状態とA[i] = 0は、位置iがリラックスしていること、および興奮しA[i] = 1ていること、またはエネルギーが蓄積されていることを意味します。各タイムステップで、配列の1つの位置がランダムに均一に選択されます。その位置が緩和されると、興奮します(潜在的なエネルギーがシステムに追加されます)。その位置がすでに興奮している場合、それは地震を引き起こし、選択された位置とそれに接続されているすべての興奮した位置は再びリラックスします。リラックスする興奮した位置の数は、地震の大きさです。 例 配列を考える 100101110111 ランダムプロセスが左から2番目のビットを選択した場合、配列は次のように更新されます。 110101110111 ^ (でマークされた選択ビットは、以降^)でした0。次に、左から4番目のビット(分離1)を選択すると、マグニチュード1の地震がトリガーされ、ビットが0再び設定されます。 110001110111 ^ 次に、右から2番目のビットを選択すると、マグニチュード5の地震がトリガーされます。 000001110000 ^ 1選択されたものと同じ「クラスター」内のすべてのsは地震の一部であり、配列は境界で折り返されていることに注意してください。 タスク 入力として2つの正の整数kとを取りt、タスクはすべてのsのt初期の長さのk配列から開始して、タイムステップのランダムドミノオートマトンをシミュレートすることです0。出力は整数のリストLでkあり、L[i](1から始まるインデックス付けで)マグニチュードの地震の数が含まれますiシミュレーション中に発生したます。出力から末尾のゼロを削除できます。 入力k = 15およびについてt = 1000、いくつかの代表的な出力は [117, 97, 45, 26, 10, 5, 3, 1, 3, 0, 0, 0, 0, 0, 0] [135, 91, 58, 21, 8, 2, 2, …

7
Kでのゴルフのヒント
Kは、アーサー・ホイットニーが設計したAPLファミリーのプログラミング言語です。公式の通訳者はクローズドソースで商用ですが、ワークスペースの制限が32ビットのアドレス空間に制限された試用版(コードゴルフでは問題になりません)は、Kx Systemsの Webサイトで見つけることができます。kdb +データベースの一部としてバンドルされているこのバージョンは、通称「K4」と呼ばれています。K3に基づいたKonaや、K5に基づいてブラウザベースのREPLを備えたoKという独自のインタープリターを含む、オープンソースのK実装もあります。 Kx SystemsにはK4 / kdb + / Q情報を含むwikiがあり、Kona GitHubページには優れた参考資料のコレクションもあります。私はoK / k5のマニュアルを書き始めました。これは役に立つリファレンスになるかもしれません。 同様JとAPL、Kは非常に簡潔で強力な言語であり、多くの場合、コードゴルフに示す良いを作ることができます。発見したヒント、トリック、イディオムを共有してください。Kを試していない場合は、試してみてください。回答ごとに1つのヒントを投稿してください。
17 code-golf  tips  k 

9
非対称KOTH:Catch the Cat(キャッチャースレッド)
非対称KOTH:猫を捕まえる UPDATE: Controller.javaが例外(エラーのみ)をキャッチしなかったため、gistファイルが更新されます(新しいサブミッションを含む)。現在、エラーと例外をキャッチし、それらも出力します。 このチャレンジは2つのスレッドで構成されています。これはキャッチャースレッドです。catスレッドはここにあります。 コントローラーはここからダウンロードできます。 これは非対称のKOTHです。各サブミッションは猫またはキャッチャーです。それぞれの猫とキャッチャーの各ペアの間にゲームがあります。猫とキャッチャーは別々のランキングを持っています。 キャッチャー 六角形のグリッドに猫がいます。あなたの仕事は、できるだけ早くそれをキャッチすることです。猫がそこに行くのを防ぐために、毎ターン、1つのグリッドセルに水バケツを置くことができます。しかし、猫は(おそらく)愚かではなく、バケツを置くたびに、猫は別のグリッドセルに移動します。グリッドは六角形であるため、猫は6つの異なる方向に進むことができます。あなたの目標は、猫を水バケツで囲むことです。 ネコ あなたは、キャッチャーがあなたの周りに水バケツを置くことによってあなたを捕まえたいことを知っています。もちろん、あなたは逃げようとしますが、あなたが怠catな猫であるように(猫はそうです)、あなたはまさにその時一歩を踏み出します。つまり、同じ場所に滞在することはできませんが、周囲の6つのスポットのいずれかに移動する必要があります。キャッチャーが新しいバケツを置いたのを見るたびに、別のセルに行きます。もちろん、できるだけ長く回避しようとします。 グリッド グリッドは六角形ですが、六角形のデータ構造がないため、11 x 11正方形の2D配列を取り、猫が6方向にしか移動できない六角形の「動作」を模倣します。 トポロジはトロイダルです。つまり、アレイの「外側」のセルを踏むと、アレイの反対側の対応するセルに転送されます。 ゲーム 猫はグリッドの指定された位置から始まります。キャッチャーは最初の動きをすることができ、猫とキャッチャーは猫が捕まるまで交互に動きます。ステップ数は、そのゲームのスコアです。猫は可能な限り大きなスコアを取得しようとし、キャッチャーは可能な限り低いスコアを取得しようとします。参加したすべてのゲームの平均合計が提出のスコアになります。猫用とキャッチャー用の2つの別々のランキングがあります。 コントローラ 指定されたコントローラーはJavaで作成されています。キャッチャーまたは猫として、それぞれJavaクラスを実装し(既にいくつかの基本的な例があります)、playersパッケージに配置する必要があります(コントローラークラスの猫/キャッチャーのリストを更新します)。そのクラス内の追加機能。コントローラーには、単純なcats / catcherクラスの2つの実例がそれぞれ付属しています。 フィールドは、セルの現在の状態の値を格納する11 x 112D int配列です。セルが空の場合は値0があり、猫がいる場合は値-1があり、バケットがある場合はがあり1ます。 あなたが使用できるいくつかの特定の機能がありますisValidMove()/ isValidPosition()あなたの移動(猫)/位置(キャッチャー)が有効であるかどうかをチェックするためのものです。 自分の番になるたびに、関数takeTurn()が呼び出されます。引数は次のような方法がある現在のグリッドのコピーが含まread(i,j)でセルを読み出すために(i,j)、だけでなく、isValidMove()/ isValidPosition()あなたの答えの妥当性をそのチェックを。これは、トロイダルトポロジのラッピングも管理します。つまり、グリッドが11 x 11のみの場合でも、セル(-5,13)にアクセスできます。 このメソッドはint、可能な動きを表す2つの要素の配列を返す必要があります。猫の場合、これらは{-1,1},{0,1},{-1,0},{1,0},{0,-1},{1,-1}猫が行きたい場所の相対的な位置を表し、キャッチャーはバケツを置きたい場所の絶対座標を返します{i,j}。 メソッドが無効な移動を生成する場合、提出は失格となります。移動先がすでにバケットであるか、移動が許可されていない/移動先が既に占有されている場合(猫として)、またはバケット/猫が既に存在する場合(キャッチャーとして)、移動は無効と見なされます。あなたは、与えられた関数で事前にそれをチェックすることができます。 あなたの提出は合理的に速く動作するはずです。メソッドが各ステップで200ミリ秒以上かかる場合、失格となります。(できればもっと少ない...) プログラムは、ステップ間で情報を保存できます。 提出 必要な数だけ提出できます。 既に提出した提出物を大幅に変更しないでください。 新しい回答の各提出をお願いします。 各提出には、できれば一意の名前を付ける必要があります。 提出物は、クラスのコードと、提出物がどのように機能するかを示す説明で構成される必要があります。 <!-- language: lang-java -->自動構文強調表示を得るために、ソースコードの前に行を書くことができます。 得点 すべての猫はすべてのキャッチャーと同じ回数だけ競争します。現在のスコアを頻繁に更新するようにします。アクティビティが減少したときに勝者が決定されます。 この挑戦はこの古いフラッシュゲームに触発されています テストと建設的なフィードバックを提供してくれた@PhiNotPiに感謝します。 現在のスコア(ペアリングごとに100ゲーム) …

3
氷山に取り残された科学者シール
前書き アザラシの家族は、北極圏の氷山に取り残されています。氷山には無線送信機があり、アザラシが助けを求めるために使用できます。ただし、無線送信機の操作方法を知っているのはパパシールだけです。さらに悪いことに、この時期の氷は非常に滑りやすいので、アザラシが別のアザラシにぶつかったり、氷山の端から滑り落ちたりするまで、アザラシが制御不能に滑り、パパアザラシが無線送信機に到達するのが非常に難しくなります。幸いなことに、アザラシの1人はコンピューター科学者であるため、彼女はパパアザラシを無線送信機に操作する方法を理解するためのプログラムを書くことにしました。氷の上にはプログラムを書くスペースがあまりないので、彼女はプログラムで使用するバイトをできるだけ少なくすることにしました。 入力説明 シールのプログラムは、STDIN、コマンドライン引数、またはユーザー入力関数(などraw_input())から入力を受け取ります。変数で事前に初期化することはできません(たとえば、「このプログラムは変数への入力を想定していますx」)。 入力の最初の行は、次の形式の2つのコンマ区切り整数で構成されます。 A,B その後に、各文字でB構成される行が続きAます。各行には、次の文字のみを含めることができます。 .:寒い、寒い、海。マップには常にこれが境界線として表示されます。 #:氷山の一部。 a... z:氷山のパパシールではないシール。 D:パパは氷山にいます。 *:無線送信機。 (パパシールは常に大文字で表記されていることに注意してくださいD。小文字dは通常のシールです。) 出力の説明 アザラシの移動方法に関する次の規則に従って、パパのアザラシを無線送信機に移動させるためにアザラシが移動する方法に関する指示のリストを出力します。 ルール:すべてのシールはU、上()、下(D)、左(L)、および右(R)に移動できます。彼らは斜めにスライドすることはできません。 ルール:移動すると、アザラシは別のアザラシと衝突するか海に落ちるまで同じ方向に移動し続けます。 アザラシが別のアザラシと衝突すると、動きを停止します。衝突したシールは移動しません。 アザラシが海に落ちた場合、それはdrれて地図から消えます。つまり、他のアザラシのコライダーとしては機能せず、再度移動することはできません。 ルール: 2つのシールを同時に動かすことはできません。また、別のシールがまだ動いている間に動かすこともできません。次のシールは、前のシールの移動が停止した後にのみ移動できます。 ルール:シールを複数回移動したり、sealれるシールの数に制限はありません。 ルール:正しい解決策は、パパが無線送信機の端を封印することです。パパシールは、滑っている間に送信機を単に通過することはできません。 出力は、それぞれが次の形式の複数の行で構成されます。 A,B ここで、A(移動するシールであるDパパシールのため、a... z他人のためには)、及びB(いずれかのシールを移動させる方向でありU、D、L、またはR)。最短ルートを見つける必要がないことに注意してください。パパがゴールに到達するまでのルートは、許容できる出力です。 入力と出力の例 入力: 25,5 ......................... .#######################. .####D#############*k###. .#######################. ......................... 出力: D,R 入力: 9,7 ......... .a#####b. .#####d#. .##l*###. .###m#p#. .#D#.#c#. ......... 出力(多くの出力のうち1つの出力): m,R b,L …
17 code-golf 

3
文字列内のパターンを検索
この挑戦では、あなたの仕事は、与えられた構造を持つ部分文字列を見つけることです。 入力 入力は、空ではない2つの英数字文字列、パターン p、およびテキスト tです。の考え方は、の各文字がp連続して空でない部分文字列を表し、その部分文字列tが隣り合って出現し、pそれらの連結を表すことです。同一の文字は同一の部分文字列に対応します。たとえば、パターンaaは空でない正方形(短い文字列をそれ自体に連結することによって取得される文字列)を表します。したがって、パターンaaは部分文字列byebyeとa一致し、それぞれ一致しbyeます。 出力 テキストtにp一致する部分文字列が含まれている場合、出力はその部分文字列になり、の文字に:対応する文字列の間にコロンが挿入されますp。例えば、我々が持っている場合t = byebyenowとp = aa、その後、bye:bye許容出力されます。一致する部分文字列にはいくつかの選択肢がありますが、そのうちの1つだけを出力します。 t一致する部分文字列が含まれていない場合、出力は悲しい顔になり:(ます。 規則と説明 の異なる文字はp同一の部分文字列に対応できるためp = aba、文字列と一致できますAAA。文字は空でない文字列に対応する必要があることに注意してください。特に、pがより長い場合t、出力はでなければなりません:(。 完全なプログラムまたは関数を記述できます。また、2つの入力の順序を変更することもできます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 テストケース 形式で与えられますpattern text -> output。他の受け入れ可能な出力が存在する可能性があることに注意してください。 a Not -> N aa Not -> :( abcd Not -> :( aaa rerere -> re:re:re xx ABAAAB -> A:A MMM ABABBAABBAABBA -> ABBA:ABBA:ABBA x33x 10100110011001 -> 10:1001:1001:10 …
17 code-golf  string  code-golf  ascii-art  geometry  code-golf  ascii-art  code-golf  sequence  stack  code-challenge  number  sequence  answer-chaining  code-golf  code-challenge  math  combinatorics  binary-matrix  code-golf  number  code-golf  cryptography  bitwise  code-golf  sudoku  code-golf  brainfuck  metagolf  code-golf  probability-theory  number-theory  primes  fewest-operations  factoring  golf-cpu  code-golf  restricted-source  code-golf  graphical-output  sequence  binary  code-golf  tips  c#  code-golf  geometry  code-golf  graphical-output  fractal  code-golf  number  sequence  code-golf  number  array-manipulation  popularity-contest  game  board-game  code-golf  puzzle-solver  grid  code-golf  ascii-art  geometry  grid  tiling  code-golf  ascii-art  whitespace  balanced-string  code-golf  card-games  king-of-the-hill  javascript  code-golf  whitespace  balanced-string  code-golf  code-golf  math  abstract-algebra  code-golf  java  code-golf  interpreter  stack  code-golf  base-conversion  code-golf  tips  code-golf  ascii-art  geometry  brainfuck  metagolf  code-challenge  math  quine  code-generation  code-golf  number  kolmogorov-complexity  arithmetic  expression-building  code-golf  string  code-golf  quine  popularity-contest  code-golf  base-conversion  code-challenge  image-processing  code-golf  conversion  coding-theory 

12
指定された文字列から文字列を抽出します
文字列と2文字が与えられます。文字列からこれらの文字の間の文字列を印刷する必要があります。 入力 入力には最初に文字列が含まれます(空またはでないnull)。次の行には、スペースで区切られた2つの文字があります。 チャレンジ 2文字の間の文字列を返します 例 Hello! What's your name? ! ? 結果が出力されるはずです: " What's your name" ルール 文字列は100文字以下で、範囲(スペース)から~(チルダ)(文字コード0x20から0x7Eを含む)のASCII文字のみが含まれます。リファレンスについては、ASCIIテーブルを参照してください。 stdin(または最も近い代替)から入力を取得する必要があります。 出力はquotes(")で囲む必要があります。 完全なプログラム、または入力を受け取り、最終的な文字列を出力する関数を書くことができます 2つの文字には、範囲(スペース)から~(チルダ)のASCII文字のみが含まれます(文字コード0x20から0x7Eまで)。リファレンスについては、ASCIIテーブルを参照してください。 両方の文字が文字列に含まれるという保証はありません。 文字列に文字が見つからない場合、print "null"。 文字列のいずれかの文字が(両方の文字が同じでない限り)文字列で複数回見つかった場合、print "null"。 両方の文字が同じ文字である場合、文字列を出力します"null"。 テストケース 1) <HTML>code</HTML> > < --> "null" 2) What's what? ' ' --> "null" 3) abcdefghijklmnopqrstuvwxyz n k --> "lm" 4) …
17 code-golf  string 

7
分数を繰り返し小数に変換する
この挑戦はほぼ正反対であり、私はそれがわずかに簡単になると思う。 あなたの仕事は、2つの整数を形式a/b(有理数の形成)で取得し、その数値を10進数で正確に出力することです。 たとえば、入力1/3すると、出力されます。 0.33333333333333333 また、オプションの先頭に0を付けて、時間の終わりまで3を印刷し続けます(言語で同じ行への印刷が許可されていない場合にのみ、 1行に1文字を印刷することもできます)。 の動作はx/0未定義です。繰り返していないように見える数字(たとえば5/4)については、実際に繰り返します。次の2つの形式のいずれかが受け入れられ5/4ます。 1.25000000000000000 1.24999999999999999 (整数で1.9999999も同じ、または2.000000) 画分は、最も単純な形態であってもなくてもよく、aまたはb負(注かもしれ-a/b = -(a/b)、-a/-b = a/b、a/-b = -a/b、および-.6249999無効であるが、-0.6249999許容されていますが、まだ使用することができます。

11
ピラミッドで数える
入力として個別の整数のリストを受け取り、次の逆さまのピラミッドで入力番号の出現回数を出力または返すプログラムまたは関数を作成する必要があります。 すべてのステップで元のリストから開始して、隣接する番号のすべてのペアの最大値を持つ新しいリストを作成します(たとえばに5 1 2 6なります5 2 6)。リストに番号が1つしかない場合は停止します。 完全なピラミッド5 1 2 6は 5 1 2 6 5 2 6 5 6 6 結果の発生回数は3 1 2 4(5 1 2 6それぞれ)です。 入力 繰り返しのない1つ以上の整数のリスト。(たとえば1 5 1 6無効です。) 出力 正の整数のリスト。iリストのth番目の要素はi、ピラミッド内のth番目の入力番号の出現回数です。 例 入力=>出力 -5 => 1 8 4 => 2 1 5 9 7 => 1 …
17 code-golf  number 

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