タグ付けされた質問 「restricted-source」

チャレンジを解決するために使用されるソースコードに制限を課します。たとえば、ソースコードに数字を含めません。

30
使用せずにすべての印刷可能なASCII文字を印刷する
では、プログラミング言語お好みの、別の1出力、それぞれが95のプログラム、書き込み95個の印刷可能なASCII文字を プログラム内のどこにでも発生して、その文字なしを。 あなたの言語であった場合たとえば、Pythonの、文字を出力し、あなたのプログラムがPあるかもしれません print(chr(80)) PASCIIコード80を持っているためです。このプログラムはP、ソースコードに表示されないため有効です。ただし、小文字を出力するプログラムのp場合は print(chr(112)) それは、印刷を行いながら、ために無効になりp、pコードの中に存在しています。有効なプログラムは exec(chr(112)+'rint(chr(112))') これは印刷さpれpますが、含まれません。 あなたの目標は、あなたの95のプログラムのそれぞれをできるだけ短くすることです。あなたのスコアはすべてのプログラムの文字の長さの合計です。 何らかの理由で一部の文字に対して有効なプログラムを作成できない場合、それらの文字を「Did Not Program」またはDNPとしてマークし、それらのプログラムを完全に省略できます。これにより、構文的に厳密な言語が競争できるようになります。 勝利の答えは、最も低いスコアがある答えであるの最も少ないDNPの持っている回答のセットを。 ルール すべてのプログラムのソースコードには、印刷可能なASCIIに加えてタブと改行のみを含めることができます。これらはすべて1文字としてカウントされます。(異なるエンコーディングでは、存在しない文字を簡単に省略できるためです!) 注:このルールは必要なようですが、エンコードが異なる言語がたくさんあるので、それらの答えを見るのはクールだと思います。したがって、このルールを破ることができますが、あなたは好きな文字を使用できますが、あなたの答えは非競争的になり、勝つことはできません。 プログラムは、言語の標準的な規則に従って、実際の完全なプログラムでなければなりません。関数とREPLスニペットは許可されていません。 各プログラムの出力は、stdoutまたは使用している言語で受け入れられている代替に行く必要があります。 プログラムは入力を要求したり、入力を要求したりしないでください。(入力のプロンプトが言語固有のものである場合は、問題ありません。) プログラムは確定的で、実行時間が有限で、独立している必要があります。たとえば、他のプログラムとは別のフォルダーで実行されるかどうかは問題ではありません。 プログラムの出力は、対応する正確な印刷可能なASCII文字である必要があります。オプションで、後続の単一の改行が続きます。 95の(理想的には)すべてのプログラムに関する情報、およびスコアとDNPを必ず含めてください。あなたはリストする必要はありませんすべて「のような単純なパターンに従ったプログラムをprint(chr(80))、print(chr(81))、print(chr(82))...」しかし、あなたは彼らがすべて確認していることを確認します仕事とあなたのスコアが正しく追加されています。 参考までに、プログラムで出力する必要がある95の印刷可能なASCIIは次のとおりです。 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

15
穴の開いていないものを使用して穴の全体を書く
ASCII文字 126に10進数33からは、次のとおりです。 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ほとんどのフォントでは、これらの文字のうち25個に「穴」があることに注意してください(0よりも大きい属) #$%&04689@ABDOPQRabdegopq 他の68個の「穴なし」文字は次のとおりです。 !"'()*+,-./12357:;<=>?CEFGHIJKLMNSTUVWXYZ[\]^_`cfhijklmnrstuvwxyz{|}~ あなたの仕事は、穴の開いていない文字だけを使用して、最短のプログラムを作成し、穴の開いた文字を任意の順序で1回だけ出力することです。 スペース、タブ、改行(ラインフィードやキャリッジリターン)は空のスペースであるため、プログラムまたはその出力に表示される場合があります。それらはまだ文字数にカウントされます。他のASCII文字は使用されない可能性があります(もちろん非ASCII文字は使用されません)。 ノート 穴の開いていない文字をすべて使用する必要はなく、それぞれを1つだけ使用する必要もありません。 出力には、穴の開いていない文字を含めることはできません。 空白の言語を使用することができます。 出力はstdoutに送られるか、ファイルに送られます。入力がないはずです。 ボーナス:ただの楽しみとして、穴の開いた文字を使用してすべての穴のない文字を印刷してみてください。私はそれが既存の言語でできることには懐疑的です。

20
終了コードゴルフ
IOのこのデフォルトに触発されました。 タスク x0〜255の入力整数を指定すると、終了コードでクラッシュするプログラムを作成しますx。 制限事項 終了コードの出力(System.exit(x)、からの戻りmainなど)を直接意図したものを呼び出すことはできません。代わりに、プログラムはエラーまたはクラッシュを引き起こし、1の確率で、プログラムは入力整数で終了します。 この場合、「エラー」および「クラッシュ」という言葉は、プログラムが致命的な意図しない例外を引き起こしたことを意味します。 エラーを直接投げて、直接エラーを引き起こしてはなりません。メソッド、関数、またはその他の目的が異なる機能を果たす(つまり、読み取り専用ディレクトリへのファイル書き込みを実行しようとする)メソッドを使用して、それを引き起こす必要があります。 プログラムには少なくとも2つの終了コードが含まれている必要があります。 シグナルを使用したプロセスの終了は禁止されています。(推論はこの議論で見つかるかもしれません) 得点 プログラムのスコアは、サポートされている終了コードの数によって決定されます。コード終了はタイブレークです。サポートされる終了コードの最大数が勝ちます!

24
重要な空白
空白は、タブ(0x09)、改行(0x0A)、またはスペース(0x20)の3文字のいずれかに定義します。 この課題では、同じプログラミング言語で2つのプログラムまたは関数を作成し、次のタスクを実行します。 指定された文字列の空白文字を数えます。たとえば、入力 123 -_- abc def 7を返します(末尾の改行がない場合)。 空白の連続した実行で特定の文字列を分割します。文字列の先頭または末尾が空白の場合、末尾に空の文字列は返されません。たとえば、同じ入力 123 -_- abc def 戻り["123", "-_-", "abc", "def"]ます。 どちらの場合でも、STDIN、コマンドライン引数、または関数引数を介して入力を取得し、結果を返すか、STDOUTを出力できます。2番目のプログラムでは、STDOUTに出力することを選択した場合、引用符を囲むことなく、各文字列をそれぞれの行に出力してください。 両方のプログラムについて、入力には印刷可能なASCII(0x20から0x7E)と空白のみが含まれると想定できます。 これが問題です。 すべての空白が両方のプログラム/関数から削除される場合、結果の文字列は同一である必要があります。つまり、2つの提出は、空白文字の数と配置のみが異なる場合があります。 いずれのプログラム/関数にも文字列または正規表現リテラルを含めることはできません(言語に指定された文字タイプがある場合、文字リテラルは問題ありません)。 どちらのプログラム/機能にもコメントを含めることはできません。 プログラムのソースコードを直接的または間接的に読み取ってはなりません。 これはコードゴルフです。スコアは、両方のソリューションのサイズの合計(バイト単位)です。最低スコアが勝ちます。 リーダーボード 次のStack Snippetは、通常のリーダーボードと言語別の勝者の概要の両方を生成します。たとえあなたの選択した言語があなたが挑戦全体に勝つことを許さないとしても、なぜ2番目のリストのスポットをひったくってみませんか?人々がさまざまな言語でこの課題にどのように取り組んでいるかを知りたいと思います! 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 # Language Name, N bytes どこNで合計あなたの提出のサイズ。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: # Ruby, <s>104</s> <s>101</s> 96 bytes 合計数の前に個々の数を含めることもできます。たとえば、 # Python 2, 35 + 41 = 76 …

30
「Code Bowling」というテキストを出力します
コードボウリング Brunswick Bowlingに雇われCode Bowlingて、モニターにテキストを出力する簡単なプログラムを作成しました。この会社はかなりの金額の価値があるとあなたはかなりのためにそれらを詐欺することができます感じビットキャッシュの。 職務記述書には、彼らが得点に基づいて支払うことを明確に示しており、得点システムを有利に操作し、これらの人から可能な限り最大の給与を得ることができると確信しています。そうするためには、得点システムがあなたをそうすることを妨げるように設計されているにもかかわらず、あなたのプログラム/関数にできるだけ多くのコードを詰めることを要求します。 貯金箱を取り出して、コードを書きましょう! チャレンジ ここでの課題は、Code Bowlingここに記述されているとおりに、できるだけ高いスコアでテキストを単に出力することです。(以下のセクション:スコアリングシステムを参照) 先頭と末尾の改行(改行)は許容されます。 コードは、プログラム全体または単なる実行可能関数である場合があります。 ルール 必須:この課題は、Code-Bowling:Common Rules、Revision 1.0.0を使用しています。詳細については、メタを参照してください。 文字:バイト比 Code-Bowlingでは、バイトカウントよりも文字カウントが優先されます。これの明白な理由は、マルチバイトのユニコード文字(例:🁴)をシングルバイトのユニコード文字の代わりに使用してバイト数を増やすことであり、ハイバイトのユニコード文字で最も多くの変数の名前を変更する人についてボウリングをより多くすることです最も戦略的に意味のある複雑なコードを作成する人よりも。 変数/関数/オブジェクト名 すべての変数名(またはオブジェクトポインター、関数名など)は1文字である必要があります。2文字の変数名を使用する唯一の許容時間は、可能な1文字の変数がすべて使用された後です。3文字の変数名を使用する唯一の許容時間は、考えられるすべての2文字の変数が使用された後です。等。 未使用のコード すべてのコードを使用する必要があります。個々のキャラクター(またはさまざまなキャラクターのセット)が削除された場合、プログラムが意味することは、タスクを常に適切に完了することに失敗しなければなりません。当然、プログラムのサブセットは、プログラムの残りがなければタスクを単独で完了することはできません。 コメント プログラム/関数で何らかの形で利用されない限り、文字数に対するコメントは許可されません。 スコアリングシステム: パングラムチャレンジ: パングラムは、すべての文字を少なくとも1回使用する文です。(速い茶色のキツネは怠laな犬を飛び越えます)。 このチャレンジタイプには、完全なパングラムが理論上の最大スコアを達成するように設計されたスコアリングシステムがあります(ただし、すべてのキャラクターを少なくとも1回使用する必要はありません)。さらに、任意のキャラクターを複数回使用するとペナルティが発生します。この課題は、アルファベット文字だけでなく、それ以上にも拡大します。 スコア指標: 使用される各キャラクターは、あなたのスコアを1増加させます。 英数字(az、AZ、0-9)を繰り返し使用すると、繰り返しごとに3ポイント減点されます(最初の使用では減点されません)。 ([!?.-,":';])角括弧を含む基本的な句読点を繰り返し使用すると、繰り返しごとに2ポイント減点されます。 {`~@#$%^&*_+=|\/><}中括弧を含む他のASCII文字を繰り返し使用すると、繰り返しごとに4ポイントが差し引かれます。 スペース、タブ、および改行を使用すると、使用ごとに1ポイントが差し引かれます。つまり、キャラクターの合計にはカウントされません。 上記以外のキャラクター(エキゾチックキャラクター)を使用すると、1回の使用につき1ポイントが差し引かれます。つまり、キャラクターの合計にはカウントされません。 スコアリングツール: 自動化されたスコアリングウィジェットが作成されていると見ることができるここに。 これはコードボウリングの亜種です。最高得点のプログラムが勝ちます!(の最大スコアがあるため94、最初に到達した人(到達可能な場合)は、受け入れられた回答としてマークされますが、他の人は自由に答え続けることができます)

30
スコアを出力してください!
チャレンジ: コンセプトは非常に単純です:独自のコードゴルフスコアを出力する完全なプログラムを作成してください! 出力は、プログラムのバイトカウントと末尾の bytes。 しかし、待機 ..... 1つの制限があります。 ソースコードにバイトカウントの数字を含めることはできません あなたのスコアがあるのであれば186 bytes、あなたのプログラムは、文字を含めることはできません1、6または8 出力例: 315 bytes 27 Bytes 49 BYTES 追加のルール: 不要な文字、スペース、改行はソースコードで禁止されていますが、出力では末尾のスペースと改行は完全に許容されます 数字とbytes出力の間には1つのスペースが必要です。 大文字と小文字は区別されません 自己点検やソースコードの読み取りは不要 標準的な抜け穴は禁止されています これはcode-golfなので、 バイト単位の最短コードが勝ちです!

30
文字列の長さを追加する
チャレンジ: s文字a- z、A- Z、0-の文字列を指定すると9、の長さsをそれ自体に追加し、長さの追加の文字をの全長の一部としてカウントしsます。 入力: 任意の長さの文字列(空にすることもできます)。 出力: 同じ文字列ですが、長さが末尾に追加されます。長さを表す文字も長さの一部としてカウントする必要があります。追加する有効な長さが複数ある場合は、可能な限り短いものを選択してください(例については、テストケースを参照してください)。 テストケース: INPUT -> OUTPUT // Comment aaa -> aaa4 -> 1 // Empty string aaaaaaaa -> aaaaaaaa9 // aaaaaaaa10 would also normally be valid, but violates using the smallest number rule mentioned above aaaaaaaaa -> aaaaaaaaa11 a1 -> a13 // Input can …
51 code-golf  string  code-golf  string  random  code-golf  array-manipulation  code-golf  ascii-art  kolmogorov-complexity  random  code-golf  array-manipulation  code-golf  stateful  code-golf  hello-world  code-golf  string  code-golf  interpreter  lisp  code-golf  restricted-source  quine  palindrome  code-golf  ascii-art  random  generation  challenge-writing  ascii-art  random  polyglot  maze  answer-chaining  string  cops-and-robbers  whitespace  code-golf  string  cops-and-robbers  whitespace  code-golf  number  sequence  code-golf  date  code-golf  ascii-art  decision-problem  code-golf  combinatorics  chemistry  code-golf  kolmogorov-complexity  source-layout  radiation-hardening  code-golf  ascii-art  path-finding  maze  code-golf  string  ascii-art  game  animation  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  restricted-source  new-years 

30
ASCII英数字をすべて使用せずに印刷します
チャレンジ 次の文字を印刷します。 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 キャッチは、あなたがあなたのコードでそれらのどれも使わないかもしれないということです。 先頭または末尾の改行の有無にかかわらず、任意の順序で印刷できますが、他の文字は印刷できません。 ルール 上記のセットの文字は使用できません 他の文字を使用できます 不正行為なし 禁止されている標準的な抜け穴 これはcode-golfで、最短回答が勝ちです。 明確化 言語で別の文字セットを使用している場合は、その文字セットで英数字に対応するコードポイントを使用することはできません。 関数から文字列を返すことは、有効な形式の出力と見なされます。 文字配列を返すことができます。

30
アルファベットだけを使用して、「そして彼女は「しかし、それは彼だ」と言った」というフレーズを印刷
And she said, 'But that's his.'次の文字のみを使用してフレーズを印刷しabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ます。句読点やアルファベット以外の文字は一切使用しません。任意のプログラミング言語を使用できます。空白は完全に許可されます。最短のプログラムが勝ちます。

30
はい、91行です
yes(coreutilsから)は91行の長さです。それらの多くはコメントしているが、それはまだですWAY長すぎます。 2019年9月から編集:ソースファイルは過去5年間で成長し、現在は126行の長さになっています。 模倣するプログラムを書くyes: stdout「y \ n」の無限ストリームへの出力 そこでプロセスを殺すよりも、それは他の停止するためのオプションでなければなりませんSIGKILL。しかし、SIGINTとSIGPIPE罰金です 「y」または「\ n」またはそれらのASCII値(121、0x79、0171、10、0xAまたは012)を使用することはできません。 最短回答が勝ちます。 ボーナス: stdin「y」の代わりにフレーズを受信して印刷できる場合は、コード長から10を引きます(ただし、改行も含まれます)。

30
難読化されたFizzBu​​zzゴルフ[終了]
最短の難読化FizzBu​​zz実装を作成します。 難読化されていると見なされるには、少なくとも次のいずれかを満たす必要があります。 「Fizz」、「Buzz」、「FizzBu​​zz」のいずれの単語も含まれていません 数字3、5、または15は含まれません。 上記のいずれかを誤解を招く方法で使用してください。 要確認:目標は短く、従うのが難しいことです。 この質問に影響を与えたコードサンプルは次のとおりです。 public class Default { enum FizzBuzz { Buzz = 1, Fizz, FizzBuzz } public static void Main(string[] args) { byte[] foo = Convert.FromBase64String("IAmGMEiCIQySYAiDJBjCIAmGMEiCIQySYA=="); MemoryStream ms = new MemoryStream(foo); byte[] myByte = new byte[1]; do { FizzBuzz fb; ms.Read(myByte, 0, 1); for (int i …

30
この文字列をdepalindromize!
この課題に従って生成されたパリンドロームを考えると、パリンドロームを除去します。 テストケース abcdedcba -> abcde johncenanecnhoj -> johncena ppapapp -> ppap codegolflogedoc -> codegolf これは脱パリンドロマイズに関するものなので、コードを回文にすることはできません。 これはcode-golfであるため、バイト数が最も少ないコードが優先されることに注意してください。

30
リードまたはフォローしますか?
この課題では、入力として文字列を受け取り、2つの可能な値のいずれかを出力するプログラムまたは関数を作成します。これらの値の1つを真実で1つを偽物と呼びます。彼らは実際に真実または偽物である必要はありません。回答が有効であるためには、4つの追加基準を満たす必要があります プログラムを自分自身に渡すと、プログラムは真実の値を出力します。 プログラムを古い回答への入力として渡すと、(渡すプログラムの)真実の出力が出力されます。 入力として古い回答を回答に渡すと、(プログラムの)偽の出力が出力されるはずです。 チャレンジのすべての回答(新しい回答を含む)で、真の出力を評価する文字列が無数にある必要があります。 これにより、チェーン内の他のプログラムがその前後に来るかどうかを判断できる一連の回答が徐々に構築されます。 この課題の目標は、連続する回答に適用されるソース制限のリストを作成し、各回答を最後の回答よりも難しくすることです。 例 (Haskellで書かれた)チェーンを開始できます: f _ = True 古いプログラムは存在しないため、この回答には基準が適用されず、2つの可能な値のいずれかを出力するだけで済み、この場合は常にoutputを出力しますTrue。 これに従うことは答えかもしれません: f x=or$zipWith(==)x$tail x オンラインでお試しください! これは、文字列のどこかに文字が2回連続して存在することを表明します。最初の回答にはこのプロパティがありませんが、2番目の回答にはあります(==)。したがって、これは有効な次の回答です。 特別なルール 任意の言語(自由に実装できる言語)を何度でも使用できます。 あなたが最後に回答した場合は、少なくとも7日間待ってから新しい回答を投稿する必要があります。 プログラムが独自のソースを読み取れない場合があります。 4番目のルールは暗号化機能が含まれているかどうかを確認するのが非常に難しいため、そのような機能は許可されていません。 スコアリング基準 回答を追加するたびに、チェーン内のその場所と同じ数のポイントを獲得できます。たとえば、5番目の答えは作家の5ポイントを獲得します。目標は、できるだけ多くのポイントを獲得することです。最後の回答では、回答者が-∞ポイントを獲得します。チャレンジに「勝つ」のではなく、自分のスコアを最大化しようとする場合、これはおそらくもっと楽しいでしょう。私は答えを受け入れません。 これは回答連鎖であるため、最も古い順に並べ替えることができます

30
*、/、+、-、%演算子を使用せずに数値を3で除算する
SO(スポイラーアラート!)でこの質問を引用: この質問は、Oracleのインタビューで尋ねられました。 *、/、+、-、%、演算子を使用せずに数値を3で除算するにはどうすればよいですか? 番号は署名されている場合と署名されていない場合があります。 タスクは解決可能ですが、最短のコードを記述できるかどうかを確認してください。 ルール: 必要な整数除算を実行します(/3) 非テキストベースの演算子を使用しないでください*、/、+、-、または%(またはその等価物、など__div__またはadd())。これは、i++またはのような演算子のインクリメントとデクリメントにも適用されますi--。文字列の連結とフォーマットに演算子を使用しても問題ありません。これらの文字をさまざまな演算子(-負の数の単項演算子など)に使用したり*、Cでポインターを表すことも同様に問題ありません。 入力値は、正と負の両方の任意の大きさ(システムが処理できるもの)にすることができます 入力は、STDINまたはARGVに入力するか、他の方法で入力できます 上記を実行できる最短のコードを作成します

2
シンボルが5つしかないJSF ** k?
これはチャレンジではなく質問です。 プログラミングパズルの解決や特定の種類の課題に関連する非チャレンジ型の質問もトピックに含まれています。 質問に今: 5文字だけのJavaScriptコードを書くことは可能ですか?JSFuckはすでに6つのシンボルでこれを行っています!+[]()が、その!キャラクターが必要かどうか疑問に思います。 JSFuckは、文字列へのキャスト(空の配列の追加による)、数値へのキャスト(前に+を書き込む)、および否定によるブール値へのキャストの組み合わせで動作します。例えば: [] \\ Empty array +[] \\ Cast to number -> 0 !+[] \\ Negate -> true !+[]+[] \\ Cast to string -> "true" この文字列から、内部に数字を含む角括弧を使用してすべての文字を抽出できます。また、何回でもtrueを加算することで、任意の数字を作成できます。 このように、多くの文字が見つかり、文字列に連結できます。作成できる最も重要な文字列"constructor"はFunction、任意の関数から取得するために使用でき、このオブジェクトを使用して文字列をJavaScriptとして実行できるためです。 []["find"] \\ the function Array.prototype.find []["find"]["constructor"] \\ the Function object []["find"]["constructor"](string)() \\ same as eval(string) ご覧のとおり、!ここには2つの用途があります。 文字列から文字を選択する番号を作成します。 をブール値にキャストして取得"true"し"false"ます。 これら2つの最初の1つは++、直接で0はなく、インクリメンターを使用して行うこともできますが、配列内の要素で使用できます。 +[] …

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