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

コードチャレンジは、他のスコアリングタグ(コードゴルフなど)ではカバーされない客観的な勝ち基準でプログラミングパズルを解くクリエイティブな方法の競争です。

6
ロゼッタストーンコードゴルフチャレンジ:特定の番号を印刷します。すべてのスニペットは同じ長さである必要があります
Rosetta Stone Codeチャレンジは、できるだけ多くの言語でタスクを完了する必要があるチャレンジです。 チャレンジ 入力としてリストに2つの数値nとsが表示されます。nあなたがカウントアップしなければならない数になります。nは2〜10000の任意の数です。sは、までカウントするときにスキップする数ですn。s1〜n/ 2(の半分n)になります。nが600の場合、s300を超えることはできません。nスキップするまでのすべての数値sを1から開始して出力する必要があります。各出力番号は、改行、スペースで区切られた同じ行、またはリストのいずれかにある必要があります。 ツイスト このRosetta Stone Codeチャレンジでは、プログラムを作成する各スニペットは同じ長さである必要があります。つまり、Pythonプログラムが56文字の場合、Javaプログラムも56文字にする必要があります。スペースとコメントは文字としてカウントされません。変数/関数名は10文字を超えることはできません。これはコードゴルフでもあるので、コードは短くしてください。 例 入力 [100, 7] 出力 1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 注:出力は、スペースまたはリスト形式で区切られた単一行である可能性があります 受賞基準 勝者は次の式で決定されます。 numberOfLanguages/codeSize codeSize 合計コードサイズではなく、スニペットの平均コードサイズです。 最も高いスコアを持つユーザーが勝ちます。つまり、4つの言語と31バイトのサイズの回答は、7つの言語と80バイトのサイズの回答よりも優先されます。勝者は2015年3月9日のUTC 2:00に選ばれます。 スコアボード すべてのスコアは千分の1に四捨五入されます マルティセン -14言語/ 24文字= 0.583 ---- 勝者 mbomb007-15言語/ 29文字= 0.517 ジャクベ …

4
Kマーを数える
タスクは、k = 1,2,3,4、.....の場合、長さkの異なる部分文字列の数をカウントすることです。 出力 出力行ごとにk1つの数で完了するために、管理ごとに1行を出力する必要があります。出力はk、時間がなくなるまで増加する順序である必要があります。 スコア あなたのスコアは、1分以内に私のコンピューターで取得できる最高のkです。 入力としてhttp://hgdownload.cse.ucsc.edu/goldenPath/hg38/chromosomes/chr2.fa.gzを使用し、改行は無視してください。ただし、コードでは大文字と小文字が区別されます。 タイミングを開始する前に入力を解凍できます。 次の(非効率的な)コードは、異なる4マーの数をカウントします。 awk -v substr_length=4 '(len=length($0))>=substr_length{for (i=1; (i-substr_length)<len; i++) substrs[substr($0,i,substr_length)]++}; END{for (i in substrs) print substrs[i], i}' file.txt|wc メモリ制限 コードを私のコンピューター上で適切に動作させ、タスクをより困難にするために、使用できるRAMを2GBに制限します。 ulimit -v 2000000 コードを実行する前に。これはRAMの使用を制限する確固たる方法ではないので、新しいプロセスを生成するなど、この制限を回避する想像力に富んだ方法を使用しないでください。もちろんマルチスレッドのコードを書くこともできますが、誰かがそうした場合、そのために使用するRAMの合計を制限する方法を学ぶ必要があります。 タイ・ブレーカー ある最大の引き分けの場合k、出力を最大にk+1して最速のものが勝つまでにかかる時間を測定します。同時に実行されて1秒以内であるk+1場合は、最初の送信が優先されます。 言語とライブラリ 自由に利用できるコンパイラ/インタプリタ/などがある任意の言語を使用できます。LinuxおよびLinuxでも無料で利用できるライブラリの場合。 私のマシン タイミングは私のマシンで実行されます。これは、Asus M5A78L-M / USB3マザーボード(ソケットAM3 +、8GB DDR3)上のAMD FX-8350 8コアプロセッサに標準のUbuntuインストールです。これは、コードを実行できる必要があることも意味します。結果として、簡単に入手できる無料のソフトウェアのみを使用し、コードをコンパイルして実行する方法の完全な指示を含めてください。 テスト出力 FUZxxlのコードは次のように出力します(ただし1分以内にすべてではありません)。これは正しいと思います。 14 92 520 …

2
タイプライターでサル
キーボードのキーを押しても、文字が常に画面に表示されるとは限りません。これが危険な接続によるものかどうかに関係なく、対応するキーが押されたときに文字が画面に表示される確率を制御するスクリプトを書くことにしました。 ある日、サルを購入してキーボードに座ってみることにしました。好奇心旺盛なあなたは、サルがハムレット全体を書くのを助けるための重要な確率を見つけることに決めました。 課題は、パッセージが最小限の数の文字で入力されるように、各文字の確率を計算することです。 統合する必要があるすべての文字のリストを次に示します。 qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890!"':;.()?, 上記のリストには改行とスペースが含まれています。リスト内の文字のみを使用して、他のすべての文字を割り引いてください(パッセージから削除)。 プログラムは、STDINを介して提供されるパッセージを含むプログラムである必要があります。出力はSTDOUTでなければなりません。 これはロゼッタストーンの課題であるため、できるだけ多くのプログラムを異なる言語で作成する必要があります。 勝つためには、多くの言語で最も短いコードが必要です。 テストケース1 あなたと夏の日を比較してみましょうか。あなたはもっと可愛くて温帯です:荒れた風は5月の最愛のつぼみを揺さぶります、そして夏のリースはあまりにも短い日付です 回答: { '\n': 0.017543859649122806, ' ': 0.16959064327485379, '!': 0.0, '"': 0.0, "'": 0.011695906432748537, '(': 0.0, ')': 0.0, ',': 0.0058479532163742687, '.': 0.0, '0': 0.0, '1': 0.0, '2': 0.0, '3': 0.0, '4': 0.0, '5': 0.0, '6': 0.0, '7': 0.0, '8': 0.0, …

2
レンガ構造を安定させる
定義されたレンガと安定性 この質問では、レンガの構造と安定性の定義をレンガの構造と同じですか? 石積みのレンガを[__]表現してみましょう . . . BRK?BRK?BRK?BRK? BRK?BRK?BRK?BRK?BRK? BRK?BRK?BRK?BRK? BRK?BRK?BRK?BRK?BRK? . . . BRK?BRK?BRK?BRK? BRK?BRK?BRK?BRK?BRK? レンガの構造で通常行われているように、これらのレンガの任意の配置または構造を表します。構造はいつまでも右に拡張できますが、文字列表現は常に、幅が4で割り切れる(必要に応じて末尾にスペースがある)完全に長方形のテキストブロックになります。 BRK?構造内のそれぞれは、レンガ([__])または空のスペース(4つのスペース)のいずれかです。 たとえば、1つの可能な(不安定-読み取り)構造は次のとおりです。 [__] [__] [__] [__] [__] [__][__] [__] 構造の安定性は重要です。構造が安定しているのは、そのレンガのすべてのレンガが安定している場合のみです。 個々のレンガが安定する方法は3つあります。 地面にあるレンガ(レンガの最下列)は安定しています。 すぐ下に2つのレンガがあるレンガは安定しています。 [__] <- this brick is stable [__][__] <- because these bricks hold it up 同じ側​​にその上と下の両方にレンガがあるレンガは安定しています: [__] [__] [__] [__] <- these …

3
三角法で私を助けて!
微積分学にご協力いただき、誠にありがとうございます。さて、今度の三角法テストについて少し助けが必要です。 テストでは、式を簡略化する必要があります。のような入力が与えられ4sin(x)/(2cos(x))、より単純ですが同等の式(など2tan(x))を生成する必要があります。角度はすべて度単位であり、ゼロによる除算や無効なドメインの問題はないものとします。(たとえば、tan(x + 1)cot(x + 1)sin(x)/ sin(x)は常に1であると仮定します。) 私は教授のオフィスに忍び込んで、テストにあるかもしれない100の問題のリストを得ました。それらをすべて解決するためのコードを教えてください。一部の問題はすでに可能な限り単純化されている可能性があります。もしそうなら、単に入力を返します。 式を簡略化する必要がありますが、教授が気付かないように短いプログラム(または関数)も必要です。プログラムの長さとすべてのソリューションの合計の長さの合計を最小化するようにしてください。 明確にするために、一部の式が変更されずに返されたり、同等の長い形式で返されたりしても問題ありません。また、プログラムは以下にリストされている式でのみ動作する必要があります。誤った結果が返されたり、他の入力で壊れたりすることもあります。 ご存知のように、すべての問題は同様の形式に従っています。xは使用される唯一の変数であり、スペースはなく、括弧は各関数名の後に続きます。(関数であるsin、cos、tan、sec、csc、およびtan。)そこには、ネストされた機能はありませんが、関数の内部のような式であってもよいです3x+4.5か、-2-.7x。指数は使用できますが、関数(などsin(x-.5)^7)でのみ使用でき、累乗は常に1より大きい整数です。乗算は連結によって示されます。 出力もこの形式にする必要があります。無効:sin x、sin(x)/cos(x)tan(x)[正接が乗算または分割されている?]、cos(x[すべて閉じ括弧] 4*sin(x)、sec(x)^1 組み込みの簡略化関数や式処理関数に依存しない限り、どのプログラミング言語でも使用できます。組み込みのトリガー関数は問題ありません。(テスト中には非常に基本的な関数電卓を用意します。)また、紙に書かれたプログラムを読むので、印刷可能なASCII文字(0x20から0x7E)と改行しか使用できません。 1/(sec(x)) 4+sin(x)+3 (cos(7x+4)-sin(-3x))/(sin(-3x)) 2sin(x)2tan(x).25cos(x)^3cos(x)+1+1 7cos(x)sec(x)/(14tan(x)csc(x)) sin(x)cos(x)/sec(x) 8sin(x)cos(x)sin(x)/tan(x)+8sin(x) sin(x)^9cos(x)cot(x)sec(x)csc(x)sec(x)tan(x)/(cot(x)^2tan(x)cos(x)^4cot(x)sin(x)) tan(x)cos(x)csc(x) tan(x+1)sin(x-1)cos(x+1)^3tan(x-1)^2sin(-x+1)csc(x+1)tan(-x+1)/(cos(x-1)cot(x+1)) (cos(2x)+cot(2x)-sin(2x)+csc(2x)^3)/(cot(2x)+sin(2x)) cos(90-x)cos(x) sin(x+180)sec(450-x) tan(-x)sin(x+90)sec(x-90) tan(x+180)^2 cot(-x)cos(-x) cot(180-x)^3cos(270-x)^2 sin(.1x-.2)sin(.1x-.2)sin(.1x-.2)sin(.2-.1x)sin(.2-.1x) sin(x) sin(90-x)sin(x)+cos(90-x)/sec(x) tan(3x+2)cos(3x+2)/sin(3x+2)-1 cos(x)cos(x)cos(x)cos(x)cos(x) sec(2x+1)sec(-1-2x)+sec(-2x-1)sec(2x+1) cos(4x)cot(4x)tan(4x)sin(4x)csc(4x) -cos(x)+cos(x)+sin(2x-4)-1/csc(2x-4) sec(x)sec(x+2)cot(x)tan(x-2)tan(x+180) tan(x)(tan(x)) 3sin(x)sin(x)/(3) cos(x)sin(x) tan(x)sec(x)^2 tan(x)^2-sec(x)^2 7+sin(x)csc(x)csc(x)+cot(x)^2 sin(90)+cos(-90)+sec(180) csc(1)+csc(10)-csc(30)-csc(60)+csc(90) sin(36000001) …

5
メタポエム・エクノックス
目的: 単語を出力する別のプログラムのソースコードを出力する1つのプログラムを記述します。 一般情報: 任意のプログラミング言語。 ルール: あなたのプログラムはどんな入力もすべきではありません。(ユーザー、ファイル名、ネットワークなどから)。 生成されたプログラムのソースコードは、元のプログラムと同じプログラミング言語であってはなりません。 生成されたプログラムからの出力は、元のソースコードの3文字おきになり、文字#3から始まります(ソースコードの最初の文字は#1です)。 ソースコードの制約:最大1500文字 生成されたプログラムのソースコード制約:最大250文字 スコアリングは、生成されたプログラムからの出力に基づいており、次の単語(大文字/小文字の任意の組み合わせ)のポイントを取得します。 me - 2 points ore - 3 points freq - 5 points pager - 7 points mentor - 11 points triumph - 13 points equipage - 17 points equipment - 19 points equivalent - 23 points equilibrium - 29 …

1
最小の違法な(可能性のある)素数を見つける
違法素数を有することが違法である情報を符号化する素数である-具体的には、ある場合には、のgzipファイルDeCSSのソースコード解読コピー保護されたDVDへのソフトウェアのピース。 タスクには2つのフェーズがあります。 可能な限り少ないバイト数でDeCSSを実装するソースファイルをビルドします。これはどの言語でも行うことができます。 このソースファイルを(お気に入りの圧縮アルゴリズムを使用して)圧縮し、素数に達するまで、同じものに解凍される可能性のあるファイルを(ディリクレの定理を使用して)反復します。 実際に素数性を証明するには計算能力が高すぎる可能性があるため、2番目の部分が2〜100未満の確率で「推定素数」テスト(例:Miller-Rabin)に合格するだけで十分です。 プライム確率が最小の人が勝ちます。

2
32バイト以下のx86マシンコードで最もビジーなビーバーを構築する
あなたの仕事は、最大32バイトのコードを使用し、ゼロ化されたレジスターから始めて、可能な限り多くの命令を実行して停止するx86マシン言語(任意のバージョン)でプログラムを書くことです。 x86マシンで使用可能な形式である限り、ランダムアクセスメモリについては何でも想定できます。

2
跳ねるボールのシミュレーション
STDOUTに、バウンドするボールの進む方向を示すパターンを印刷します。 次の仮定が行われます。 ボールは左上隅から始まり0, 0ます。初期速度はゼロです。 重力は9.8ms^-2正確に、床に向かっています(y正)。 ボールの重さは500g正確です。 可変軌道を追加するための適切な計算を追加する必要がない限り、ボールは床に対して45度または135度でバウンドします。(ボーナス任意ポイント!) ボールは、ばね定数の反発係数/弾力定数を0.8正確に持っています。 ボールは完全に球形で、バウンドしても変形しません。 部屋の高さは25文字、幅は130文字です。各xとyは1メートルで、各ボールの位置は個別のサンプルを表します。正確な時間は意図的に指定されていませんが、ディスプレイはボールのパスを十分に明確にする必要があります。出力には、最終的な位置だけでなく、ボールのパスが表示されます。 フロアとボールは、STDOUTの文字を使用して示す必要があります。ボールや床面がないことをスペース文字で示してください。 計算では小数点以下3桁に丸めることを想定できます。(純粋な整数を使用するソリューションは、このルールに特に関心があります。) シミュレーションは、ボールが床から動かないか、部屋から出たときに停止します(x > width of area。) プログラムはボールのパスをシミュレートする必要があります。単にファイルからロードしたり、プログラムで何らかの方法でエンコードしたりするのではありません。このためのテストは、オプションで定数の1つを変更することです。プログラムが新しい正しい結果を計算しない場合は、資格がありません。 出力例: * * * * * * * * * * *********** * ***** **** * **** *** * *** *** * ** ** * *** ** * ** ** ********* * …

17
加算のみで除算を実装
除算を使用せずに除算を実装することを求めるサイトに質問があります。 私の場合、同じことをするようお願いしますが、加算のみを使用します。 これが意味することは、基本的には、加算は、数値を操作して他の数値を返すことができる唯一の演算子または関数です(つまり、減算、乗算、指数、ビット単位の反転などはありません)。ifステートメント、代入演算子、比較演算子、forループのようなものは引き続き許可されますが、それらの中で、まだ加算のみを使用している場合に限ります。 あなたの仕事は、機能構築することであるdivide(a, b)2つの正の整数とるaとb、リターンの結果aによって分割されb、ゼロに向かって丸めを、しかし、使用して追加していない他の算術演算子、数字以外の他のデータの構造を。 コードは、WINSは、入力のセットにわたって実行される最少加算演算必要とするものとなることaから、変化1へ200とbから変化1するがa。 このを追跡するために、あなたはすべてのインスタンスの置き換えコードの代替バージョン構築することができますa + bとadd(a, b)、プログラムaddグローバルインクリメントするadd_used2つの数の合計を返すだけでなく、変数を。

8
パターンを交互にする
問題 色付きのボールのシーケンス(赤Rと緑G)が与えられます。そのような可能なシーケンスの1つは次のとおりです。 RGGGRRGGRGRRRGGGRGRRRG できるだけ少ない動きで、各ボールが隣のボールとは異なる色になるように(つまり、シーケンスが交互になるように)する必要があります。 RGRGRGRGRGRGRGRGRGRGRG 「R」と「G」の等しい番号を持つ順序付けられていないシーケンス(この場合は文字列)を、アイテムが交互に並ぶシーケンスに変換できるプログラムを作成する必要があります。単純なアルゴリズムの場合のセッションの例を以下に示します(<プログラム>への入力、出力です。入力または出力にキャレットを含める必要はありません)。 < RGGGRRGGRGRRRGGGRGRRRG > RGGRGRGGRGRRRGGGRGRRRG > RGRGGRGGRGRRRGGGRGRRRG > RGRGRGGGRGRRRGGGRGRRRG > RGRGRGGRGGRRRGGGRGRRRG > RGRGRGGRGRGRRGGGRGRRRG > RGRGRGGRGRGRGRGRGGRRRG > RGRGRGGRGRGRGRGRGRGRRG > RGRGRGGRGRGRGRGRGRGRGR > RGRGRGRGGRGRGRGRGRGRGR > RGRGRGRGRGGRGRGRGRGRGR > RGRGRGRGRGRGGRGRGRGRGR > RGRGRGRGRGRGRGGRGRGRGR > RGRGRGRGRGRGRGRGGRGRGR > RGRGRGRGRGRGRGRGRGGRGR > RGRGRGRGRGRGRGRGRGRGGR > RGRGRGRGRGRGRGRGRGRGRG (15 moves) 別の可能性は、例えば、位置5と7の入れ替えを示すために「5,7」を出力することです。 最初に赤または緑のいずれかを配置できますが、一貫している必要はありません。各シーケンスは、他のすべてのシーケンスと同じ長さになります。 各移動で2文字だけを入れ替えることができます(それらは隣接している必要はありません)。 受賞基準 プログラムは、ソートプロセスの各ステップを示す必要があります。以下のすべての文字列の合計移動が最も少ないプログラムが勝利します。同点の場合は、最短のコードが優先されます。 入力文字列 次の文字列を使用してプログラムをテストします。 GGGGGGGGGGRRRRRRRRRR …

9
ASCIIアート難読化コードを記述し、次のように読み取ってください:「DFTBA」
課題は、「DFTBA」を読み取って印刷するASCIIアートに埋め込まれた最も精巧なコードを書くことです。たとえば、次はDFTBAを読み取ります。 oooooooooo. oooooooooooo ooooooooooooo oooooooooo. .o. `888' `Y8b `888' `8 8' 888 `8 `888' `Y8b .888. 888 888 888 888 888 888 .8"888. 888 888 888oooo8 888 888oooo888' .8' `888. 888 888 888 " 888 888 `88b .88ooo8888. 888 d88' 888 888 888 .88P .8' `888. o888bood8P' o888o o888o o888bood8P' …

6
C ++での最短の未定義動作サンプル[終了]
休業。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善してみませんか?詳細を追加し、この投稿を編集して問題を明確にしてください。 3年前休業。 未定義の動作を示す、最も短くて整形式のC ++コードは何ですか?

3
PHPゴルフのヒント:ファイルの読み書きとCLI
私はゴルフは最近、およびなどのファイルからデータを読み取るために使用されている技術のいくつかの課題PHPコードの数に参加しているfopen()とfread()か、file_get_contents()本当に私のコードchar型の数に打撃を与えます。特に、コマンドライン入力を読み込むために提供されるメソッド。 私の質問は、ファイルの内容を読み書きする最速の方法(最小キーストローク)と、プロンプトから行を読み込む最速の方法(最小キーストローク)は何ですか? (注:これはコードゴルフなので、外部ライブラリは使用できません。)

3
NVMを使用して、中止された場合は常に粘り強く操作を再開します
これまでの動作を記憶し、再実行が中止された場合に目標に向けて継続するプログラムを作成しようとしています。これは粘り強いプログラムです。これは、不揮発性メモリを使用して、実行全体の情報をいくつかのcitとして格納します。これは、アボート時に発生することを考慮したビットです。私はかつて、N citsを使用して、いくつかの小さな固定Kで長さ2 (NK)までの任意の目標が達成可能であると推測しました。今、目標を達成できないと考えることに傾倒しています:-( 目標で粘り強いプログラムに尋ねられましたが、それはすでに重要な目標です 01ます。または不可能性の厳密な証拠。 粘り強いプログラムは、1そのように定義されます。 runを実行するときは常に、入力なしで同じエントリポイントから実行を実行し、N cits(以下で定義)のみを使用してrun間で情報を共有できます。他のすべての情報は、各実行の開始時に同じ内容であるか、実行の開始時に予測できない内容であるか、変更できない(プログラム自体)か、読み取り不可能(以前の出力と値)のいずれかです。 セッション内で実行すると、その言語の機能を使用して、実行が開始されてからある程度の遅延の範囲内で、中止されない限り、明らかに停止します。前に中止さに停止します。アボートは任意の瞬間に発生し、別の実行(ある場合)まで操作を阻止します。 それが出力する文字の時系列での連結は、プログラムが停止するまで実行されたままの少なくとも1つの実行を含む任意のセッションの任意のセッションで同じ有限文字列(目標)と同じです。 出力は、そのデバイスを使用して文字アトミックは:受信値 0 1 2 3の間で PUTをプログラムすることによって、出力0(それぞれ1)の値を0または2(それぞれ1または3)の間であれば、その値は、以前と異なる場合にのみ値プット。セッションの最初のプットでは0と見なされます。 粘り強いプログラムが存在します!有効な固定値を固定回数だけ単純に入力してから停止するプログラムは、目標が空(数値または値が0の0場合)、(数値が正で値が2の場合)、または1(それ以外の場合)粘り強くなります。それ以上の目標にはNVMが必要です。 各citは、citへの書き込み中に中止された実行の影響を考慮して、1つのNVMビットをモデル化します。いつでも、citは3つの可能な状態の0 1いずれかになりUます。citから読み取られる値は常に0または1です。それ以外の場合も州と一致しますU。citは0セッションでの最初の実行前の状態に初期化されます。それ以外の場合は、プログラムによる書き込みがコマンドによって指示されたときにのみ状態が変化します。これは、書き込まれた内容、書き込み中に実行が中止されたかどうか、およびcitの以前の状態: Former state 0 1 U Rationale given by hardware guru Operation Write 0 completed 0 0 0 Discharging returns cit to 0 Write 0 aborted 0 U U Aborted discharging leaves …

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