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

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

3
正方形を数える
「この画像の正方形はいくつありますか?98%では正しく表示されません!」というキャプションの付いた写真を見たことがあるでしょう。さて、これがその98%で笑うあなたのチャンスです。 入力 2文字のみで構成された長方形のブロック。一般的な形式では、これはそれぞれがn文字を含むm行で定義されます。 例: 0000xxx 00x00xx 00000xx xxxxx0x これは、改行で区切られた文字列、文字列の配列、または文字の2D配列として表すことができます。他の入力タイプはコメントで提案する必要があります。 出力 出力は、両方の文字によって個別に表される正方形の合計量を表す整数になります(疑似コードでは、num_squares(char1)+ num_squares(char2))。 正方形は完全辺の長さの幾何学的な正方形の輪郭同じ文字のインスタンスの集合として定義される少なくとも2。これらの四角は、輪郭を描く文字で塗りつぶす必要はありません。次の例は、この概念を示しています。 x0 0x // no squares xxx x0x xxx // 1 square of side length 3 0000 0xx0 0xx0 0000 // 1 square of side length 2, 1 square of side length 4 得点 プログラムは、重要度の高い順に、2つの基準でスコアが付けられます。 上記で定義したように、正方形の一部ではないコードブロック内の文字数(これを最小化することを目指してください!)(注:正方形の内側の文字は、自動的にその正方形の一部とは見なされません)(注2:改行はこのスコアにカウントされません) バイト数(これを最小限に抑えることを目指してください!) 2番目の基準は、最初の基準のタイブレーカーとして機能します。 …

3
圧縮して印象を与える
両方に触発挑戦「ユニークで安いです」によって@Laikoniスコアは挑戦そのものだけでなく、に基づいており、JavaScriptの(ES6)の回答の@ETHproductionsのための「回文圧縮」の挑戦彼はかなりクールを使用して、回文フラグ、大文字/小文字の表示、および文字の圧縮方法。 チャレンジ: 2つのプログラム/関数を作成します。圧縮プログラム/関数と解凍プログラム/関数です。 プログラム/関数の圧縮: 独自のソースコードで使用された文字(ソースコードの圧縮と解凍の両方)を可能な入力としてのみ与え、任意の種類のビット圧縮方法を使用して、この入力のビット圧縮の結果0のsと1sを出力します。 。 出力されるビット(0sおよび1s)の量は可能な限り短くする必要があり、この量が回答のスコアになります。 アイデアは、独自のソースコードで使用されるさまざまな種類の文字、プログラム/関数のサイズ、および使用したビット圧縮のタイプの間でバランスをとることです。または、このコメントで@RobertFraserを引用するには: これはエンジニアリングの基本の優れた例です。問題の説明を取り、それを解決するためのさまざまな方法について考え、要件間のトレードオフ(つまり、さまざまなスタイルに割り当てるビット数)を作成するなど チャレンジルール: 圧縮プログラムと解凍プログラム/関数は、同じプログラミング言語である必要があります。 入力はスコアになるため、圧縮と解凍の両方のプログラム/関数と、両方のプログラム/関数を組み合わせた(連結した)圧縮プログラムの出力の0sと1sの量を提供する必要があります。 圧縮は、明らかに、圧縮プログラムと解凍プログラム/関数の両方のソースコードで使用されているすべての文字に対して、任意の順序または量で機能する必要があります。(ソースコードにない文字については、未定義の動作をする可能性があります。) 入力タイプは必ずしも文字列である必要はありません。文字のリスト/配列/ストリームにすることもでき、プログラムの引数やSTDINなどにすることもできます。呼び出し。 同じことが出力にも当てはまります。関数から返すか、STDOUTに出力できます。単一の文字列、整数配列などにすることができます。 あなたの圧縮プログラムを出力しなければならない、少なくとも1 0か1(そう空のcat圧縮と解凍プログラムの両方のためのプログラムはできません)。 ソースコードには、0sと1sがすでに含まれているだけでなく、no-ops が含まれていない場合があります(デフォルトで独自のソースコードを出力するプログラミング言語では、圧縮プログラムと解凍プログラムの両方を単一0またはにでき1、no-ops部分は未使用のコメントでこの動作を防止するには、ソースコードとして0sと1s のみを使用する、申し訳ありませんがバイナリベースのプログラミング言語)。 プログラム/関数で使用される0以上の文字プールの入力をサポートする必要がありますが、空の入力をサポートする必要はありません。したがって、すべての入力が少なくとも1文字であると想定できます。 可能な入力は、圧縮サイズと解凍サイズの合計よりも大きくなる可能性があります。 何らかの理由で圧縮方法が順序に依存し、入力がのDecompressionProgramCompressionProgram代わりに出力が短い場合CompressionProgramDecompressionProgram、スコアのプログラム/関数のコンカッティングのいずれかの順序を選択できます。 例: 圧縮プログラムがABCであり、解凍プログラムがであるとしましょう123aBc。0個以上のcharacter-poolを含む入力の場合、123ABCabこれらの文字を0sおよび1s に正しく圧縮し、これら0のsおよび1sを正しい文字に解凍できる必要があります。これら2つのプログラムの有効な入力例は次のとおりABC123aBcです。A; 1Ca; 22222b1121221b; 等 一般的なルール: 回答には標準ルールが適用されるため、STDIN / STDOUT、関数/メソッド、適切なパラメーター、完全なプログラムを使用できます。あなたの電話。 デフォルトの抜け穴は禁止されています。 可能であれば、コードのテストを含むリンクを追加してください。 また、必要に応じて説明を追加してください。 答えの例: Java 8、スコア1440ビット、180(87 + 93)バイト ここでは、Java 8の非常に悪い実装で、各文字は単に8ビットのバイナリ文字列として出力されます。 圧縮機能: として提供される入力java.util.stream.IntStream。 s->s.forEach(c->System.out.print("".format("%8s",Long.toString(c,2)).replace(' ','0'))) オンラインでお試しください。 減圧機能: として提供される入力String。 …

1
周期的な弱いLevenquine
「環状Levenquine」を作るために私たちを求めてこの質問は未回答行ってきました。そこで、今日はもう少し簡単なバージョンをお願いします。この課題では、 K -Levenquineを、出力がそのソースからのレーベンシュタイン距離 Kであるプログラムであると定義します。 仕事 この課題の目標は、独自のソースとは異なる出力を持つプログラムを書くことです。その出力をプログラムとして実行することも同じようにする必要があります。最終的に、(同じ言語で)連続する各プログラムの出力を繰り返し実行するシーケンスは、最終的に元のプログラムを出力する必要があります。 最後の課題と同様に、このサイクルには2つの異なるプログラムが存在し、2バイトを共有しないようにする必要があります(つまり、それらのバイトセットは互いに素です)。 ほとんどのクインチャレンジと同様に、独自のソースコードを読み取ることは禁止されています。 得点 あなたのサイクルの各プログラムは次のようになりますKいくつかのために-Levenquine K。サイクル内のプログラムの最大Kがスコアになります。あなたの目標は、このスコアを最小にすることです。1が最適なスコアです。

2
最小のチェスゲームの圧縮
インスピレーション: 最小のチェス盤の圧縮に強く触発されて、私は類似しているが明らかに異なる競争をすることにしました。 tl; dr Chess_Games.txtファイルを取得し、できるだけ元のファイルに展開できるように圧縮します。 目的: チェスデータベース全体を開始位置から終了位置までエンコードおよびデコードするアルゴリズムを記述します エンコーディングは、すべてのゲームですべての位置を決定できる必要があります。 すべての作品の場所 誰の番ですか プレイヤーが両サイドでキャッスルできるかどうか。 プレイヤーがen-passantを実行できるかどうか、実行できる場合、どのポーンを実行できますか? 前職 さらに: 各ゲームには、誰が勝ったか、どのように終了したか(没収、抽選、チェックメイト、ステイルメイトなど)も含める必要があります。 入出力: 次のプロパティを満たす2つのアルゴリズムCompress / Expandが必要です。 Compressは、チェス記法による一連の動きを介してゲームのファイルを取り込み、圧縮ファイルを出力します Expandはその逆を行い、圧縮ファイルを取り込み、すべてのゲームが同じ順序で元のファイルを出力します 正確性:Expand(Compress(file))=すべての適切な形式のファイルのファイル 正しく形成されていない、またはチェスのルールに違反しているゲームはすべて悪いと見なされます。すべての悪いゲームはスキップされるかもしれません。 sen表記を解析できなければなりません。いくつかの例については、chessgames.comおよびhttps://database.lichess.org/を参照してください。 私は最初から10000ゲームのファイルをコンパイルした「2017年5月」にChess_Games.txt ファイルは次のようになります。 e4 d5 exd5 Nf6 d3 Qxd5 Nc3 Qf5 Be2 Bd7 g4 Qe6 g5 Nd5 Ne4 Bc6 Bg4 Qe5 f4 Qd4 Nf3 Qb6 Qe2 e6 …

1
さまざまな言語でどれくらい高く数えることができますか?
あなたはどれくらいの高さを数えることができますか?ポリグロットの人々にアドバンテージを与えましょう。 チャレンジ: あなたの仕事は、できるだけ多くのプログラム/関数/スニペットを書くことです。各プログラムは整数を出力/印刷/返します。最初のプログラムは整数1を、2番目のプログラムは、という2ように出力する必要があります。 プログラム間で文字を再利用することはできません。したがって、最初のプログラムが単にである場合、他のプログラムでその1文字を1再び使用することはできません。注:1つのプログラムで同じ文字を何度も使用できます。 プログラミング言語は1回しか使用できません。したがって、すべての数値は異なるプログラミング言語である必要があります。 得点: 勝者は最高を数える提出になります。同点の場合、勝者は合計で最も少ないバイト数を使用した送信になります。 ルール: 言語は1つの整数に対してのみ使用できます-その後、言語を再利用することはできません スニペットは許可されています! 公平性を保つために、すべての文字は、選択した言語で同じエンコーディングのシングルバイトを使用してエンコードする必要があります。 出力は10進数でなければなりません。科学的表記またはその他の代替形式で出力することはできません。小数点の後ろに表示されるすべての桁がであれば、浮動小数点数の出力は問題ありません0。したがって、4.000受け入れられます。出力に表示されない限り、FPAによる不正確さは受け入れられます。 ans =、先頭と末尾のスペース、改行などを使用できます。 正しい出力がSTDOUTに返される限り、STDERRを無視できます。 STDERRに整数を出力することを選択できますが、STDOUTが空の場合のみです。 注:説明をお勧めします!

5
2016 Time Capsule String:カバレッジ
2016タイムカプセル文字列の74文字を考えます(先頭のスペースに注意してください)。 !!!!!#$$%&())))*+...1449:=@@@AHILOQQQTTZ\\^`````````eefmpxy{||||~~~~~~~~~ あなたの仕事は、これらの文字を使ってできるだけ多くのプログラムを(同じ言語で)書くことです。各プログラムの出力は空でない必要があります。すべてのプログラムとその出力を考慮する場合、上記の74文字のそれぞれを1回だけ使用する必要があります。 あなたのスコアはあなたが書いたプログラムの数によって決定され、プログラムの合計の長さはタイブレーカーです(最大の長さが勝ちます)。 さらにいくつかのルール: 各プログラムは終了する必要があります。 各プログラムは完全なプログラムであり、適切な形式で出力される必要があります。 STDERRへの出力はすべて無視されます。 プログラムの実行に必要なものを除き、フラグを使用してプログラムを実行することはできません。(例えば、-eプログラムソースを実行するフラグ。) プログラムに抑制できない出力がある場合、出力を検討するときに無視できます。(たとえば、末尾の改行は無視できます。) 各プログラムは、空のstdinで実行できる必要があります。 例 私はプログラムを持っていた場合4と、T1~それは出力4と9それぞれ一緒に考慮するとき、彼らは、次のようになります。 44T1~9 これは、カプセル文字列のサブセットであることがわかります。ただし、プログラムが4@|4あり、|e+それが出力された場合4、fそれぞれ次のようになります。 4@|44|e+f また、3 4であるため、サブセットではありません。

2
論理的なクイン
チャレンジ 独自のソースコードを出力するプログラムを書くだけです。 通常のクインにすぎません。 問題 コンピューターがないので、プログラム可能なロジックデバイス(FPGA、CPLD、ゲートアレイなど)でプログラムを実行する必要があります。 ルール ロジックデバイスに接続されている市販のデバイス(セントロニクスポート経由で接続されたプリンター、LEDディスプレイ、RS232端末など)を使用して、プログラムを出力できます。 あらゆる種類のプログラマブルデバイスを出力デバイスとして使用する場合、プログラムロジックをそこに配置することはできません。 例:RS232を使用してデータをコンピューターに送信する場合、コンピューターはRS232から受信したデータを表示するだけです。ただし、既存の端末プログラムにこの機能がある場合は、データをロジックデバイスにエコーバックするなどのRS232オプションをオンにすることができます。 すべての(最近または過去の)「標準」コーディング(ASCII、UNICODE、EBCDIC、モールス符号など)を使用できます。 プログラムは、独自のソースコードを出力するだけで済みます。VHDL / Verilog / ...「ワイヤ」と実際のI / Oピンの間のマッピングのみを含むファイル、コンパイラ設定と同様のファイルを含むファイルは「ソースコード」とは見なされないため、書き込む必要はありません。 必要な場合は、選択した周波数のクロック入力ピンが1つあります。 オンチップユニット(オンチップSRAMやオンチップ乗算器など)は使用しないでください。 コードをテストするために、追加のコードを使用して出力デバイスをシミュレートできます。もちろん、ロジックデバイスもシミュレーションできます(実際のデバイスがない場合)。 標準の抜け穴が適用されます。 勝者 プログラムのサイズを計算するために、実際の出力デバイス(プリンタなど)が論理デバイスの一部のI / Oピンに接続されていると想定しています。 FPGAで最も少ない「LE」セルを必要とするコード(Altera EP2C20F484C7)が優先されます。 私のFPGAが小さすぎる(=最小のソリューションに十分な大きさではない)場合、「LE」タイプのセル(EP4CGX150DF31I7)を持つ最大のものをコンパイルします。 それでも不十分な場合は、無料のコンパイラでサポートされている最大のもの(EP2AGX260FF35I5)を試してみます。 そのデバイスがまだ小さすぎる場合は、ソースコードのサイズがカウントされます。 注意 Googleで「quine VHDL」を検索すると、最初のページにVHDLで書かれた少なくとも3つのquinesが見つかりました。 残念ながら、実際のロジックデバイスでは機能せず、エミュレータでのみ機能します(エミュレータの)標準出力が使用されるためです。 幸運を!

4
不明な値のリストを比較の量が最も少ないもので並べ替えます
この最適化の課題では、stdoutでユーザーにstdinで比較結果を入力するように要求することで要素を比較するだけで単一の配列をソートするプログラムを記述します。 以下のプロトコルは行ベースなので、標準出力に出力したり、標準入力から読み込んだりするたびに、改行が続くと想定されます。以下の質問全体を通して、ユーザー(読み取り:スコアリングプログラム)には、0から始まるインデックス付き配列と呼ばれる配列にソートしたい配列があると想定されていますarray。技術的な理由から、私はすべての印刷後にスタウトにフラッシュすることをお勧めします。 最初のステップとして、プログラムはnstdinから配列サイズを読み取る必要があります。 その後、a < b何度でも、2つの整数を使用してstdoutに出力できます0 <= a, b < n。その後、ユーザーが入力されます1場合は標準入力でarray[a] < array[b]、そして0それ以外の場合は。 最後に、プログラムが配列の順序を正しく推定したと確信すると、プログラムはa ...stdoutに出力する必要があります...。したがって、プログラムが出力a 3 0 1 4 2する場合は、プログラムが推定したことを意味します array[3] <= array[0] <= array[1] <= array[4] <= array[2] あなたのプログラムはの内容を決して知らず、決して知らないことに注意してくださいarray。 <stdinで配列をソートするように要求することしかできません。これらの同値により、他の比較演算を取得できます。 a > b b < a a <= b !(b < a) a >= b !(a < b) a …

16
平らな地球を旅する
平地の世界の座標は、緯度(x)と経度(y)で構成されます。これらは0〜9999の範囲の整数です。ガウス整数によく似ていますが、常に次の表記法を使用して記述されています。 411S 370E すなわちであり、SまたはN緯度に付加し、EまたはW2つのコンポーネント間の空間(S)と、経度に付加します。 ゴール 空白で区切られた2つの座標を読み取り、それらの合計を出力するプログラム(関数ではない)を記述します。最初の座標は開始点、2番目の座標は変位、出力は結果の位置です。 入出力 この課題は部分的にフォーマットに関するものであるため、入力形式と出力形式を明確に定義するようにします。 推奨される入力形式では、座標コンポーネント間に1つのスペースがあり、先行ゼロはなく、2つの座標間に改行文字があります。プログラムは、優先フォーマットを読み取ることができる必要があります。 出力には、任意の量の空白と先行ゼロを含めることができます。推奨される入力形式と異なる場合、プログラムはこの形式も読み取ることができる必要があります。 明確にするために、入力には追加の書式設定文字を含めることはできません(含めません)。必要なスペースと改行だけ。 得点 これは新しい勝利条件の実験です。数週間以内に回答を受け入れて、勝者を選びます。その後、より適切な回答が出た場合は、回答を変更します。 プログラムのスコアはそのバイト数です。優勝したプログラムは、400バイトより短く、バイト数が最も少ないプログラムですが、最も冗長なプログラミング言語で書かれています。勝者を決定するには: バイト数が400以上のプログラムを削除します(参加できますが、勝つことはできません)。 各プログラミング言語の最短プログラムのみを検討する 最長のプログラムの勝利 ポリグロットは、有効なすべての言語のプログラムと競合します(たとえば、プログラムが両方bashで有効である場合、sh両方の言語のプログラムと競合します)。 テストケース テストケースでは、最初の2行が入力で、3行目が出力です。 0S 0E 0S 0W 0N 0E (ゼロの方向は、入力と出力の両方で重要ではありません) 0S 9999E 9999N 9999W 9999N 0E (最大値) 42S 314W 42N 2718W 0N 3032W (ゼロの方向は出力では関係ありません) 5555N 8888W 7777S 0E 2222S 8888W (負の値はありません。符号を変更する必要がある場合は方向を変更してください) 0001N 4545W …
8 code-challenge  arithmetic  parsing  code-golf  interpreter  code-golf  random  classification  code-golf  ascii-art  code-golf  code-golf  string  number  array-manipulation  code-golf  math  rational-numbers  code-golf  internet  classification  code-golf  string  integer  code-golf  number  graphical-output  typography  king-of-the-hill  code-golf  number  sequence  palindrome  code-golf  math  code-golf  math  probability-theory  code-challenge  image-processing  test-battery  code-golf  number-theory  code-golf  tips  swift  code-golf  graphical-output  image-processing  color  code-golf  string  conversion  code-golf  string  array-manipulation  code-golf  encryption  king-of-the-hill  code-golf  string  ascii-art  code-golf  code-golf  string  compression  decision-problem  code-golf  ascii-art  number-theory  division  code-golf  ascii-art  code-golf  code-golf  number  array-manipulation  code-golf  ascii-art  code-golf  code-golf  string  code-golf  sequence  number-theory  code-golf  math  geometry  code-golf  combinatorics  code-golf  integer  code-golf  arithmetic  number-theory  code-golf  arithmetic  restricted-source  number-theory  restricted-complexity 

5
単語または近い単語?
文字列(またはあなたの言語で同等のもの)を指定するプログラムまたは関数を記述し、文字列が単語かどうかを判断し、真または偽の値を出力します。 (これは単語でもありますか?の重複ではありませんか?間違った単語は非常に異なる方法で生成され、これはまったく異なる課題になると思います) 単語はすべて小文字で、5〜10文字で、アポストロフィはありません。 正しい単語は、SCOWL英語単語リスト(サイズ50)のランダムに選択されたサブセットです。 不適切な単語は、スワッピングと置換の2つの方法で生成されます。 「スワッピング」単語は、ランダムに選択された(実際の)単語の文字に変更されたフィッシャーイェーツのシャッフルを使用して生成されます。毎回文字を交換する代わりに、文字を交換する場合としない場合があります(確率が異なるため、一部の単語は他の単語よりも現実的です)。新しい単語が既存の単語と一致する場合、結果は破棄され、別の単語が生成されます。 「置換」単語は、同様の方法を使用して生成されますが、文字を別の文字と交換する代わりに、各文字が別のランダムな文字に置き換えられる可能性があります。 各メソッドは、偽の単語の50%を生成するために使用されます。 得点 関数は150バイト未満でなければなりません。スコアリングは次のように決定されます。 percentage of answers correct + ((150 - length of program) / 10) ルール これは多数のテストケース(各ワードリストは1000ワード)を扱うため、自動テストプログラムで問題ありません。自動テスターはプログラムの長さにはカウントされません。ただし、他のユーザーがテストできるように投稿する必要があります。 抜け穴はありません。 スペル/辞書関連のビルトインはありません。 資源 単語のリスト: http : //pastebin.com/Leb6rUvt 単語ではないリスト(更新済み):http : //pastebin.com/rEyWdV7S その他のリソース(SCOWLワードリストとランダムワードの生成に使用されるコード):https ://www.dropbox.com/sh/46k13ekm0zvm19z/AAAFL25Z8ogLvXWTDmRwVdiGa?dl=0

6
逆シンボリック計算機
この課題は、Plouffleのインバーターのアイデアに基づいています。 以下を実行する任意の言語でプログラムを作成します。 X10進数で記述された負でない有理数を入力として受け取ります(例:34.147425)。 非負の整数、空白、括弧、および次の2項演算子のみを使用して数式を返します。 添加 + 減算 - 乗算 * 分割 / べき乗 ^ 式は、に評価されるXか、少なくとものすべての桁に一致する必要がありますX。例を続けると13 + 20^(5/4) / 2、13 + 20 ^(5/4)/ 2 = 34.1474252688 ...なので、正しい出力はになる可能性があります。 オプションで、ポーランド語表記(接頭辞)または逆ポーランド表記(後置表記)で出力を書き込むことができます+ 13 / ^ 20 / 5 4 2。つまり、問題ありません。 プログラムは、次の制限を受けます。 標準の抜け穴は禁止されています!特に、プログラムは外部ルックアップテーブルを読み取ることができません。 プログラムのソースコードは、1024文字より短くする必要があります。 平均圧縮率が最も低いプログラムが優先されます。 平均圧縮率を決定するには、次のPythonスクリプトを使用するか、独自の同等のプログラムを作成します。これは、1000個の乱数のリストです。 import random def f(x): # edit this function so that …

4
データを圧縮および解凍する2つのプログラムを作成する
チャレンジ: セミランダム文字列を圧縮するプログラムと、それを解凍する別のプログラムを作成します。質問は確かに2012年のこれと非常によく似ていますが、答えはおそらく非常に異なるため、これは重複ではないと主張します。 関数は、下部にある3つの制御文字列でテストする必要があります。 次のルールは両方のプログラムに適用されます。 入力文字列は、関数の引数またはユーザー入力として受け取ることができます。圧縮された文字列は、印刷するか、アクセス可能な変数に格納する必要があります。アクセス可能な手段は、プログラムの終了時に、それは印刷することができることを/使用して表示しdisp(str)、echo(str)あなたの言語で、または同等。 自動的に印刷されない場合は、結果を印刷するコマンドをプログラムの最後に追加する必要がありますが、バイトカウントには含まれません。結果が何であるかが明らかである限り、結果より多くを印刷しても問題ありません。したがって、たとえばMATLABでは、;末尾のを省略してもかまいません。 最新のラップトップでは、最大長の文字列の圧縮に2分もかかりません。減圧でも同じことが言えます。 何らかの理由で誰かがそれを実行したい場合、プログラムは異なる言語である可能性があります。 文字列: アルゴリズムの作成を支援するために、文字列がどのように構成されているかを次に説明します。 まず、いくつかの定義。すべてのリストとベクトルは、角かっこを使用してゼロインデックスが付けられます[]。括弧(n)は、n要素を含む文字列/ベクトルを作成するために使用されます。 c(1) = 1 random printable ascii-character (from 32-126, Space - Tilde) c(n) = n random printable ascii-characters in a string (array of chars ++) a*c(1) = 1 random printable ascii-character repeated a times r(1) = 1 random integer r(n) …

2
クロスプラットフォーム…
できるだけ多くの異なるプラットフォームで異なる動作を生成するプログラムを作成します。異なるプラットフォームごとに1ポイントが付与されます(最初のプラットフォームを含め、1 *未満のスコアを獲得することはできません)。ターゲット/実行プラットフォームを決定するためのメカニズム(たとえば、.NETのEnvironment.OSVersion.PlatformなどのプラットフォームコンパイルステートメントまたはAPIを介して)は使用しないでください。最も高いスコアの答えが勝ちます(賛成票がタイブレーカーである場合)。 たとえば、Blub言語の次のプログラムについて考えてみますprint (1+2)。このプログラムが3コンパイルされて実行されるすべてのプラットフォームで印刷する場合、そのスコアは1になります。ただし、何らかの理由で4PDP-11sで印刷する場合、そのスコアは2になります。たとえば、Cスニペットは無効なエントリです#ifdef WIN32 ... #endif。 定義/詳細: 異なるプラットフォーム: a)ハードウェアアーキテクチャb)OSとそのメジャーバージョン番号の組み合わせ(例1.0.0と1.1.0は同じOSと見なされます) 動作が異なる: 2つの動作は同じですIFF彼らは同様の副作用(例えば、同じ内容で同じファイルを作成する)を生成、または副作用が同じ種類のエラーである場合。たとえば、プログラムが2つの異なるプラットフォームでsegfaultを実行しても、segfaultメッセージがこれらのプラットフォームで異なる場合、これは同じ動作と見なされます。一方、あるプラットフォームでゼロ除算エラーを生成するプログラムと別のプラットフォームでスタックオーバーフロー(そこで何をしたかを参照してください;)エラーが生成されると、異なる動作が生成されます。 未定義の動作はすべて同等と見なされます。 プログラムは、すべてのプラットフォームで同等の方法で呼び出す必要があります(ただし、必要に応じてコマンドラインパラメータを渡すことができます) *さて、プログラムがゼロのプラットフォームで実行された場合、スコアはゼロになると思います。しかし、ええと...ええ、気にしません。

3
自己短縮型プライムテスター
それに取り掛かりましょう。あなたの課題は、入力に応じて次のことを行うプログラムを作成することです。 入力が数値の場合、その数値が素数の場合は「Prime」を出力し、その数値が素数でない場合は「Not Prime」を出力します。数は1より大きいと想定できます。 入力が2つの数値の場合、最初の数値(両端を含む)と2番目の数値(両端を含まない)の間のすべての素数を出力します。最初の数は2番目の数よりも小さいと想定できます。 ここで本当の課題が発生します。入力がない場合、プログラムは元のプログラムとまったく同じことをする短いバージョンのプログラム自体を出力する必要があります。プログラムは、ファイルまたはWebからの読み取りを許可されていません。新しいプログラムもこれを実行できるはずです。少なくとも5世代は機能するはずです。新しいプログラムは、最初のプログラムと同じ言語である必要はありません。 得点: スコアは、提出物の最初の5世代のバイト数の合計に等しくなります(提出物自体が世代1です)。新しいコードが最初のプログラムにハードコードされている場合は、スコアに1.5を掛けます。 最も低いスコアが勝ちます。(採点システムに何らかの欠陥がある場合は、コメントでお知らせください)

3
ボックス内の言語
ランタイム配置用のボーナスが追加されました。 プログラムを小さく保ちながら、プログラムで使用される識別子をテキストボックスに入力するプログラムを記述します。プログラムで使用したすべての識別子(作成したものを除く)を使用して、12x6ボックスにできるだけ多くの識別子を入力します。クロスオーバーする識別子(クロスワードスタイル)に対して余分なポイントを取得しますが、エンドツーエンドで結合することはできません。 出力 プログラムは、パックされた識別子と#境界線を含む12x6文字のボックスを(標準出力に)印刷する必要があります。ボックスには、文字ALでラベル付けされた列と行1〜6(下の例のように間隔が空いている)が必要です。次に、使用する各識別子の行を出力します。各行には、最初の文字の位置、識別子自体、およびスコアがあります。スコアは、「+ボーナス」が追加された識別子の文字数と同じです。識別子は、交差識別子と共有される各文字に対して5ポイントのボーナスを取得します。最後の行は、「TOTAL:」と識別子スコアの合計を報告します。可能なPythonプログラムの出力例は次のようになります。 ABCDEFGHIJKL ############## 1 # pinsert # 2 # o # 3 # print # 4 # not # 5 # # 6 #import # ############## C1 pop 3+5 D1 insert 6 C3 print 5+10 E3 in 2+10 E4 not 3+5 A6 import 6 TOTAL: 55 ノート: …

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