タグ付けされた質問 「code-golf」

コードゴルフは、ソースコードの最小バイトで特定の問題を解決するための競争です。

18
最短のソート済みHello World
入力を受け取らHello, World!ず、stdoutまたは使用言語の最も近い代替に出力するプログラムを作成します。キャッチは、プログラムの各行に印刷可能なASCII文字のみを含める必要があり、辞書順、つまりソートされている必要があることです。 95個すべての印刷可能なASCII文字を順番に示します。 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ したがって、たとえば、およびは順序が!!A0~正しくないため、行は無効になります。行は有効です。A0!!0A~ プログラムの各行の長さは任意であり、行の数は任意です。空行はソート済みと見なされます。プログラム内の各改行は同じでなければなりません(ミキシング\nと\r\n)。タブやその他の印刷できないASCII文字は禁止されています。 人気のある需要により、勝ちの条件は入れ替わりました: 最少のラインの提出が勝ちます。Tiebreakerは最短プログラムに進みます(改行は単一文字としてカウントされます)。 Hello, World!オプションの末尾の改行のみを出力する必要があります。ことを注意HQ9 +は、それが出力するので無効ですhello, world。「Hello、World!」という文字が1つあるHQ9 +に類似した言語を禁止する場合があります。自明によるコマンド。 ヒント: 非常に簡潔ではありませんが、これは単項および言語で間違いなく可能です。

23
2つの文字列の大文字の入れ替え
your shift key is broken. wheNever you type two lines, the cApitaL LetteRs in them get swappeD. you must write a program to fiX THIS! 説明 入力は2つの文字列でs1あり、s2、長さが等しいです。それぞれには、印刷可能なASCIIのみが含まれ、長さは少なくとも1文字です。次の2つの文字列、2つの文字列の配列、または持つ単一の文字列として入力これらのかもしれないs1とs2、タブや改行のいずれかで区切られています。 出力は次のとおりです。 各文字のc中にs1: 文字が文字でない場合は、そのまま出力します。 それ以外の場合、c文字が: で一致する文字(同じインデックスの文字)を見つけますs2。 大文字の場合、出力 c大文字になります。 小文字の場合、出力 cします。 それ以外の場合、出力はc変更されません。 次に、with s1とs2switch を除いて同じことを行います。 本質的に、s1一致する文字s2が大文字であるすべての文字は大文字にs1するs2必要があり、同じインデックスに小文字が含まれるすべての文字は小文字になります(逆も同様です)。 テストケース 入力: ABCDEfghijKlMnOpqrstuvwxyz aaaaaaaaaaaaaaaa---------- 出力: abcdefghijklmnopqrstuvwxyz AAAAAaaaaaAaAaAa---------- 入力: PRogrammiNG …
27 code-golf  string 

1
MP3ファイルでビートを見つける
この課題では、あなたの仕事は、mp3形式で簡単な録音を行い、ファイル内のビートの時間オフセットを見つけることです。2つの録音例がここにあります。 https://dl.dropboxusercontent.com/u/24197429/beats.mp3 https://dl.dropboxusercontent.com/u/24197429/beats2.mp3 これは、前の2つよりもはるかにノイズの多い3番目の録音です。 https://dl.dropboxusercontent.com/u/24197429/noisy-beats.mp3 たとえば、最初の録音の長さは65秒であり、正確に76ビートを含みます(誤算しない限り)。あなたの仕事は、そのようなmp3ファイルを入力として受け取り、ファイル内のビートのミリ秒単位の時間オフセットのシーケンスを出力するプログラムを考案することです。ビートは、もちろん、ギタリストが1つまたは複数の弦を弾くときに発生します。 あなたのソリューションは: 同様の「複雑さ」のmp3ファイルで作業します。ノイズの多い録音や、すぐに演奏されるメロディに失敗する可能性があります-私は気にしません。 かなり正確に。許容誤差は+/- 50ミリ秒です。したがって、ビートが1500ミリ秒で発生し、ソリューションが1400を報告する場合、それは受け入れられません。 フリーソフトウェアのみを使用してください。ffmpegを呼び出すことは、選択した言語に対応する無料のサードパーティソフトウェアを使用する場合と同様に許可されます。 勝利の基準は、提供されたファイルのノイズにもかかわらず、ビートを正常に検出する能力です。同点の場合、最短のソリューションが優先されます(サードパーティのコードの長さはカウントに追加されません)。
27 code-golf  music 


30
Cヘッダー名をC ++ヘッダー名に変換する
C標準ライブラリでは、ヘッダー名は.hサフィックスで終わります。 stdio.h C ++では、これらのヘッダー名は代替形式で利用できますが、代わりにcプレフィックスが付いています。 cstdio 最初の形式を2番目の形式に変換する関数を作成します。変換はインプレースで行うことも、元の文字列をそのままにして新しい文字列を返すこともできます。選択した言語で自然に感じるものは何でも。 コードはエラーなしでコンパイル/解釈する必要があります。コンパイラの警告は受け入れられます。 これがベースラインCソリューションです。それは持っている70文字程度の警告を生成しますstrlen: void f(char*h){int i=strlen(h);h[--i]=0;while(--i)h[i]=h[i-1];*h='c';} 最短の解決策(文字数で測定)が優先されます。 更新:選択した言語が機能をサポートしていない場合、プログラム全体も受け入れられます。 更新: FUZxxlが示唆するように、C標準ライブラリのヘッダーファイルの完全なリストを以下に示します。 assert.h ctype.h errno.h float.h limits.h locale.h math.h setjmp.h signal.h stdarg.h stddef.h stdio.h stdlib.h string.h time.h 具体的には、複数のドットを含むヘッダー名はありません。

17
ルール110のシミュレーション
ルール110は、いくつかの興味深い特性を持つセルオートマトンです。 目標は、できるだけ少ない文字数でルール110をシミュレートすることです。 知らない人のために、ルール110はグリッド内の行ごとにシミュレートされます。グリッドの行の各正方形は、上、左上、および右上の正方形を見て、どのセルになるかを決定します。 current pattern 111 110 101 100 011 010 001 000 new cell 0 1 1 0 1 1 1 0 入力:合理的な形式(カンマ区切りの文字列、リスト、関数の引数)で、最上行のn番目の入力正方形を表す0から39までの数字。1インデックス付き言語に対応するために、数字も1インデックス付きであるため、範囲は1〜40です。 入力例: 38,39 出力:最初の行を含む実行中のオートマトンを表す40 x 40のグリッド。0を空白、1を表示可能な印刷文字として残す必要があります。実際のグリッドを合理的に区別できる限り、末尾のスペースを使用できます。グリッドの下部には改行が含まれている場合がありますが、グリッド線の間に空白行があってはなりません。 出力例: XX XXX XX X XXXXX XX X XXX XX XX X XXX XXXXXXX X XX XXX XXX XX X XX …

30
バイナリ文字の文字列を同等のASCII文字に変換します
スペースで区切られたバイナリ文字の文字列を取得し、ASCII文字列に変換します。 例えば... 1001000 1100101 1101100 1101100 1101111 100000 1010111 1101111 1110010 1101100 1100100 に変換します... Hello World バイナリ文字列はと呼ばれる変数に保存されますs。 これはコードゴルフの挑戦なので、最短のソリューションが勝ちます。

15
回答とコメントの数
この質問/ページの回答数とコメント数(質問と回答の表示と折りたたみ)を標準出力に印刷するソフトウェアを作成します。 スクリプトは、開始時にこのページを閉じて実行する必要があります。 期待される出力例: A12C40 AはAnswers、Cはコメントを表します。
27 code-golf 

23
マンハッタンの周りを歩いていますが、ホテルからどれくらい離れていますか?
不要で複雑な話 私はブロックごとにマンハッタンを歩いていますが、足が疲れて家に帰りたいと思っています。 交通はかなり悪いですが、幸いなことに私はとても裕福で、ホテルで待機しているヘリコプターを持っています。しかし、私は彼らがフライトのためにどれだけの燃料を詰め込むかを知る必要があり、そのために彼らはホテルからの私の直接距離を知る必要があります。私はどのブロックを歩いたかを覚えていて、どのルートを取ったかを伝えることができました。ただし、この距離は正確である必要があります。距離が短すぎると戻れず、長すぎて使用できない燃料を買いました。 それを取得するためにフライトで移動する必要がある距離に変換するプログラムを作成できますか? 仕様: 次の関数を書いてください: 任意のグリッドに関連して歩いたブロックのリストまたは文字列を受け入れます。 U p、D所有、L eftおよびR ight。 大文字でも小文字でもかまいません-例えば。先uにU進む代わりに使用する方が短い場合。 無効な方向には未定義の動作があります-例えば。Xの方向は障害を引き起こす可能性があります。 原点からの直線距離の2倍のfloat / decimal / doubleを返します。 イラストと説明のため: 私の旅は、同じように簡単に記録されている可能性"luluu..."や['l','u','l'...]、それは上、下、左、右のように記録されなければなりません。
27 code-golf 

15
キラキラ光る
人気のある英語の童ryを演奏するプログラムを作成します。 (このファイルは、クリエイティブ・コモンズの下でライセンスされて表示-継承3.0非移植ライセンスの帰属:。Helix84で英語ウィキペディアは、Blahedoで英語ウィキペディア)。 役に立つかもしれないいくつかのウィキペディアの記事: Twinkle Twinkle Little Star(プログラムの出力がどのように聞こえるかを示すオーディオクリップがあります) 現代の音楽記号(上記で使用されている音楽記法について学ぶため) Note#Note frequency(hertz)(各音の周波数を計算する式) 提出のガイドライン: プログラムでは、コンピューターのサウンドカードを使用する必要があります。プログラミング言語がオーディオハードウェアに簡単にアクセスできない場合、プログラムはWAVやMIDIなどの標準形式で出力ファイルを作成する必要があります。 プログラムは実際に出力を生成する必要があります。たとえば、WikipediaからOgg Vorbisファイルを埋め込むことは許可されません。 音質は許容範囲内でなければなりません。少なくとも、歌は簡単に認識できるはずです。できれば、音も良いはずです。 コードサイズ、音質、またはその両方に焦点を当てる必要があります(どちらを決定したかを説明してください)。エレガントなソリューションも素晴らしいでしょう。楽しむ! これはコードゴルフなので、最短のコードが勝ちます
27 code-golf  music  audio 

19
階乗数システムとの変換
階乗ナンバーシステムもfactoradic呼ばれるが、混合基数数字システムです。階乗は、数値の場所の値を決定します。 このシステムでは、右端の数字は0または1のいずれか、右から2番目の数字は0、1または2のようになります。これは、n桁因数分解が最大値を持つことができることを意味します(n + 1)!。 たとえば、階乗数24201を10進数に変換するには、次のようにします。 2 * 5! = 240 4 * 4! = 96 2 * 3! = 12 0 * 2! = 0 1 * 1! = 1 240 + 96 + 12 + 0 + 1 = 349 したがって、階乗数24201は349base 10です。 (349例として)10進数を階乗数に変換するには、次のようにします。 数値よりも小さい最大の階乗を取る。この場合120、または5!です。 349 / 5! = 2 …

30
各文字の4つのコピーでアルファベットを生成します
これは、アルファベットを4回印刷するのと同じではないことに注意してください。 このタスクは、標準出力に英語のアルファベットの各文字の4つのコピーを1行に1つずつ生成するプログラムを作成することです。 A A A A B B B B 等 出力には、各文字の後に改行が含まれている必要があります。 余分な出力のない大文字が推奨されます。ただし、大文字化/削除によってソリューションが長くなる場合は、小文字や余分な空白を使用できます。 追加するために編集:ソリューションは実行するために十分に完成している必要があります。追加のコードを入力することなく、言語の実装を呼び出し、回答からコードを貼り付け、結果を取得できるはずです。 上記の完全性の問題は、Cソリューションのコンテキストで発生しました。確かに、コードゴルフサイトにはこれに関する常識的な規則または慣習が必要ですか?もしそうなら、私は喜んでコミュニティのガイドラインに従います。しかし、これは私の意見です: 特にCに関しては、コードの周りにmain(){... を含める(そしてカウントする)必要}があります。そうしないとコンパイルされないからです。#include <stdio.h>コードがまだコンパイルされている限り問題ないので、警告。一般に、コンパイル言語にはコンパイル可能なユニットが必要です。 式を直接実行する方法がある場合、目的の結果が得られる裸の式は受け入れられます。たとえば、言語にREPLがある場合。なしハスケルを提出することができますので、main=限り、それは実際に書かれたように機能として例えばghciプロンプトを。しかし、それはletあなたの宣言をすることを意味するので、runhaskellフォーマットに固執することは正味の勝利かもしれません。 同様に、awkスクリプトは入力を処理していないため、ブロックはBEGIN(またはEND、stdinがに接続されていると仮定して/dev/null)ブロック内にある必要があります。 等

30
指定された範囲間の素数の合計
aとの間の素数の合計を見つけるための最短コードを記述しますb(包括的)。 入力 aそして、b、コマンドラインまたは標準入力から撮影することができます(スペースは区切り) 1 <= a <= b <=10 8と仮定する 出力 合計を改行文字で印刷するだけです。 ボーナスポイント プログラムが複数の範囲を受け入れる場合(各行に合計を1つ印刷する)、余分なポイントを取得します。:)
27 code-golf  primes 

10
ModTenの古き良きゲームのようなものはありません
免責事項:ModTenは、このチャレンジの唯一の目的のために作成された架空のカードゲームです。 ModTenのルール ModTenは、標準の52カードデッキでプレイされます。完全なルールはまだ発明されていないため、ハンドランキングのみに焦点を当てます。 ModTenの勝ち手。ウィキペディアのグラフィック。 カードの値 カードには次の値があります。 2から9:額面価値 10:0ポイント ジャック:3点 クイーンまたはキング:8ポイント エース:9ポイント 手の価値 ModTenの手がで作られている2枚のカード。ハンドのベース値は、両方のカードの値を乗算し、最後の桁のみを保持することで得られます(モジュロ10を適用するなど)。 666(7 × 8 )mod 10 = 6(7×8)mod10=6(7\times8)\bmod 10=6 唯一の他のルールModTenは、ということです適しカードはより適さないものより価値があります。慣例により、両方のカードが同じスーツである場合、値に「s」を追加します。 たとえば、9 ♠ -5 valueの値は、「」として示され。これは、あり、カードが適しているためです。5 秒5s5\text{s}(9 × 5 )mod 10 = 5(9×5)mod10=5(9\times5)\bmod 10=5 ハンドランキングと勝者 上記の規則により、18の異なるハンドランクが得られます。これらのランクは、最強から最低(または最もまれなものから最も一般的なもの)まで、次の表にまとめられています。確率は情報提供のみを目的としています。 2つのハンドが与えられると、最低ランクのハンドが勝ちます。両手が同じランクの場合、それは引き分けです(タイブレーカーはありません)。 hand rank | hand value(s) | deal probability -----------+---------------+------------------ 1 | 9s | …

30
キャラクターをランダムに選択する、plinkoスタイル
選択したランダム性における選択言語がどれほど優れているかを見てみましょう。 与えられた4つの文字、A、B、C、およびD、または4文字の文字列ABCD を入力として、次の確率を持つ文字の出力1: A 1/8(12.5%)の確率で選択される必要があります B 3/8(37.5%)の確率で選択される必要があります C 2/8(25%)の確率で選択される必要があります D 2/8(25%)の確率で選択される必要があります これは、次のPlinkoマシンレイアウトとインラインです。 ^ ^ ^ ^ ^ ^ A B \ / ^ C D あなたの答えは、記述された確率を尊重する真の試みをしなければなりません。回答で確率がどのように計算されるのか(および、それらが仕様を尊重し、疑似乱数性と大きな数の問題を無視する理由)の適切な説明で十分です。 得点 これはコードゴルフなので、各言語で最少のバイトが勝ちます!

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