タグ付けされた質問 「networking」

ネットワーク要求を実行するために回答が必要な課題など。

30
単純なTCPサーバー
ポートNで着信TCPトラフィックをリッスンするプログラムまたは関数を作成します。簡単なサービスを提供します。着信接続のIPアドレスフィールドの合計を計算して返します。 プログラムまたは関数は、引数または標準入力から整数Nを読み取ります。ポートNで着信TCP接続をリッスンします。誰かがそのポートに接続すると、プログラムはIPアドレスフィールドの合計を計算し、末尾の改行を付けてクライアントに送り返し、接続を閉じます。 ポート番号Nは有効なポートであり、2 10 <N <2 15 末尾の改行は、\nまたは\r\n IPv4またはIPv6のいずれかを使用できます。IPv6アドレスは16進形式で記述されているため、たとえばなどの同じ形式の結果も提供する必要があります2001:0db8:0000:0042:0000:8a2e:0370:7334 => 12ecd。 これはcode-golfです。標準のルールと抜け穴が適用されます。 例 でサーバーを実行します./server 1234。サーバーは現在実行されており、ポート1234で接続を待機しています。その後、クライアントが127.0.0.1サーバーに接続します。あなたのサーバーは、簡単な計算を実行します127+0+0+1 => 128と、(末尾の改行で)結果をクライアントに送信します128\n。その後、サーバーは接続を閉じて、次のクライアントを待ちます。 リーダーボード var QUESTION_ID=76379,OVERRIDE_USER=20569;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i; body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px} <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> …

30
アイデンティティマトリックスの構築
課題は非常に簡単です。入力が整数のn場合、n x n単位行列を出力します。単位行列は、1sが左上から右下に及ぶものです。作成した単位行列を返すまたは出力するプログラムまたは関数を作成します。出力は、2D配列、またはスペース/タブと改行で区切られた数値です。 入出力の例 1: [[1]] 2: [[1, 0], [0, 1]] 3: [[1, 0, 0], [0, 1, 0], [0, 0, 1]] 4: [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]] 5: [[1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, …

7
IPv4アドレスの欠落している期間を修正する
IPv4アドレスを入力するときに、すべての数字を正しく入力することもありますが、1つ以上のピリオドを入力するのを忘れています。壊れたIPv4アドレスを取得し、欠落しているピリオドのすべての有効な配置を出力するプログラム(または機能)が必要です。 入力 入力は常に、有効なIPv4アドレスの変換である文字列になります(以下の詳細を参照)。常に1つ以上のピリオド文字を削除するだけで変換されます。 送信する際に、この形式以外の入力を処理する必要はありません。 出力 ピリオド文字を入力に挿入することで入力から作成できるすべての有効なIPv4アドレスを表す文字列のコレクションまたはリスト。特定の順序や形式はありません。 出力は、言語固有のリスト、またはその他の順序付けされたまたは順序付けされていないコレクションタイプです。 または、何らかの明確な方法で区切られたIPv4アドレスの文字列シーケンスである場合もあります。 1文字の区切り文字を使用して文字列を区切る場合、その1文字の区切り文字としてピリオドと数字は使用できません。数字とは異なり、区切り文字としてのピリオドはあいまいではありません(4番目ごとにピリオドが必ず区切り文字になるため)が、読みやすくするために、これを禁止しています。 IPv4アドレス形式 IPv4アドレスは実際には4つのバイナリオクテットのシーケンスにすぎませんが、このチャレンジでは制限付きドット付き10進形式を使用します。 IPv4アドレスは、3つのピリオドで区切られた4つの10進数値です。 4つの値はそれぞれ、0からまでの範囲に255あります。 数値の先頭にゼロを使用することはできません。(スタンドアロン一文字が0許可され、ゼロから始まる任意の他の数ではない:052、00、等) テストケース 入力は1行目に、出力は2行目にあります(ここでは、引用符で囲まれたコンマ区切りのリストとして構成され、コンマで区切られ、で囲まれて[ ]いますが、上記のように、適切な形式または構造を使用できます)。一部の例では、特定のルールの適用を強調するために3行目に注記があります。 192.168.1234 ["192.168.1.234", "192.168.12.34", "192.168.123.4"] 192.1681234 ["192.16.81.234", "192.168.1.234", "192.168.12.34", "192.168.123.4"] (Note: 192.1681.2.34 (etc.) is illegal because 1681 is greater than 255) 1921681.234 ["19.216.81.234", "192.16.81.234", "192.168.1.234"] 1921681234 ["19.216.81.234", "192.16.81.234", "192.168.1.234", "192.168.12.34", "192.168.123.4"] 192.168.1204 ["192.168.1.204", "192.168.120.4"] …

5
2014年世界IPv6デー
世界IPv6デーの記念日をマークするために、インターネット協会はOne Dayの2014年6月6日にIPv4を止めるキャンペーンを発表しました。 IPv6アドレスは、コロンで区切られた8つの16ビット16進値として長い形式で表されます。アドレスに応じて、RFC 3513のセクション2.2 アドレスのテキスト表現の項目2で説明されているように、短縮することもできます。 ゼロビットを含むアドレスの書き込みを容易にするために、ゼロを圧縮する特別な構文が利用可能です。「::」の使用は、16ビットのゼロの1つ以上のグループを示します。「::」は、アドレスに一度しか表示できません。「::」は、アドレスの先頭または末尾のゼロを圧縮するためにも使用できます。 このチャレンジのエントリは、長い形式または短い形式のいずれかでフォーマットされたIPv6アドレスを1つだけ受け入れ、長い形式と短い形式の両方で同じアドレスをこの順序で表示するプログラムです。 入力は、コマンドライン引数、STDIN、または選択した言語に適した他の入力ソースからのものです。 IPv6アドレスの解析専用のライブラリまたはユーティリティは禁止されています(inet_ {ntop、pton}()など)。 入力アドレスが無効な場合、出力は空になります(または、アドレスが無効であることを示す適切なエラーメッセージが表示されます) ::短縮が発生する場合、特定のアドレスに対して1つの短縮操作のみが発生する場合があります。特定のアドレスに対して複数の潜在的な短縮操作がある場合、全体の最短アドレスを提供する操作を使用する必要があります。この点で同点がある場合は、最初の操作が使用されます。これを以下の例に示します。 回避すべき標準的な抜け穴 例: Input Output 1080:0:0:0:8:800:200C:417A 1080:0:0:0:8:800:200C:417A 1080::8:800:200C:417A FF01::101 FF01:0:0:0:0:0:0:101 FF01::101 0:0:0:0:0:0:0:1 0:0:0:0:0:0:0:1 ::1 :: 0:0:0:0:0:0:0:0 :: 1:0:0:2:0:0:0:3 1:0:0:2:0:0:0:3 1:0:0:2::3 1:0:0:8:8:0:0:3 1:0:0:8:8:0:0:3 1::8:8:0:0:3 1:2:3:4:5:6:7:8 1:2:3:4:5:6:7:8 1:2:3:4:5:6:7:8 ABCD:1234 <Invalid address format - no output> ABCDE::1234 <Invalid address format - no …

7
解釈> <>(魚)
&gt; &lt;&gt;は人気のある言語ではありませんが、ゴルフに適している可能性があり、このWebサイトで使用されています。Befungeに触発され、その指示にいくつかの類似点があります。 必要なコマンド: &gt; &lt; ^ v 指示ポインターの方向を変更します(右、左、上、下) / \ | _ # ミラー。ポインターは、すでに持っている方向に応じて方向を変えます。 x ランダムな方向。 + - * , % それぞれ、加算、減算、乗算、除算、モジュロ。AとBをスタックからポップし、B演算子Aをプッシュします。0で除算するとエラーが発生します。 0-9 a-f 対応する値をスタックにプッシュします。a = 10、...、f = 15 = スタックからAとBをポップし、B = Aの場合は1をプッシュし、そうでない場合は0をプッシュします。 ) より大きい。AとBをスタックからポップし、B &lt;A ( より小さい場合は1をプッシュします。AとBをスタックからポップし、B&gt; Aの場合は1をプッシュし ' " ます。文字列解析を有効にします。文字列解析は、閉じ引用符が見つかるまで、見つかったすべての文字をスタックにプッシュします。 ! 次の命令をスキップします。 ? スタックのトップがゼロの場合、またはスタックが空の場合、次の命令をスキップします。(注:これはスタックから何もポップしません!)スタック : の一番上の値を複製します。 ~ スタックから一番上の値を削除します。 …

20
私はあなたのサブネットで、あなたのコードをゴルフしています
チャレンジ IPv4の所定のaddressドット付きクワッド表記で、とIPv4 subnetでCIDR表記、かどうかを判断addressしていますsubnet。にある場合は明確で一貫した値を出力し、にない場合は別個の明確で一貫した値を出力subnetしsubnetます。出力値は、必ずしも言語で真実/偽である必要はありません。 CIDRサブネット表記の簡単な入門書 IPv4ネットワークアドレスの長さは32ビットで、読みやすいように8ビットの4つのグループに分割されています。CIDRサブネット表記は、指定されたビット数のマスクであり、左端から始まります。たとえば、/24サブネットの場合、これはアドレスの右端の8ビットがそのサブネットで利用可能であることを意味します。したがって、最大255でで区切られ、同じサブネットマスクを持つ2つのアドレスは、同じサブネット内にあります。有効なCIDRには、すべてのホストビット(右側)が設定されていない(ゼロ)ことに注意してください。 xxxxxxxx xxxxxxxx xxxxxxxx 00000000 ^--- subnet mask ---^ ^-hosts-^ 別の例では、/32サブネットは、すべてのビットがサブネットマスクであることを指定します。つまり、本質的に、1つのホストのみが許可され/32ます。 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx ^--- subnet mask ---^ 例: 出力として「Trueサブネット内」およびFalse「サブネット内ではない」に使用: 127.0.0.1 127.0.0.0/24 True 127.0.0.55 127.0.0.0/23 True 127.0.1.55 127.0.0.0/23 True 10.4.1.33 10.4.0.0/16 True 255.255.255.255 0.0.0.0/0 True 127.1.2.3 127.0.0.0/24 False 127.1.2.3 127.1.2.1/32 False 10.10.83.255 10.10.84.0/22 False 規則と説明 …

2
ゴルフのエンドツーエンド暗号化
このチャレンジには、最初に答えて少なくとも3日間無敵のままでいるために200ポイントの報奨金が課せられます。user3080953が主張しています。 最近、エンドツーエンドの暗号化について多くの話があり、製品からそれを削除するように企業に圧力をかけています。私はその権利と不正には興味がありませんが、私は疑問に思いました。コードをどれだけ短くすれば、会社はそれを使わないように圧力をかけるでしょうか? ここでの課題は、ネットワーク化された2つのシステム間でDiffie Hellmanキー交換を実装し、生成された対称キーを使用してユーザーがやり取りできるようにすることです。このタスクの目的のために、他の保護は必要ありません(たとえば、キーの循環、IDの確認、DoSからの保護など)。インターネットを開くことができます(リッスンするポートはすべてのユーザーが利用できます)。組み込みの使用が許可され、推奨されています! 次の2つのモデルのいずれかを選択できます。 サーバーとクライアント:クライアントはサーバーに接続し、サーバーまたはクライアントは他方にメッセージを送信できます。2つの間のサードパーティは、メッセージを読むことができない必要があります。フローの例は次のとおりです。 ユーザーAがサーバーを起動します ユーザーBはクライアントを起動し、それをユーザーAのサーバーに転送します(IP /ポート経由など)。プログラムは接続を開きます ユーザーAのプログラムは接続を確認します(オプションでユーザーに最初に同意を求めます) ユーザーBのプログラムはDHシークレットの生成を開始し、必要なデータ(公開キー、プライム、ジェネレーター、実装に必要なもの)をユーザーAに送信します。 ユーザーAのプログラムは、送信されたデータを使用して共有シークレットの生成を完了し、必要なデータ(公開キー)をユーザーBに送り返します。この時点から、ユーザーAはメッセージを入力できます。 B(例:標準出力)。 ユーザーBのプログラムは、共有秘密の生成を完了します。この時点から、ユーザーBはユーザーAにメッセージを送信できます。 または:2つのクライアントが接続されたサーバー:各クライアントはサーバーと通信し、サーバーはメッセージを他のクライアントに転送します。サーバー自体(およびその間のサードパーティ)は、メッセージを読み取れないようにする必要があります。初期接続以外のプロセスは、最初のオプションで説明したものと同じです。 詳細なルール: 単一のプログラム、または複数のプログラム(サーバーとクライアントなど)を提供できます。スコアは、すべてのプログラムの合計コードサイズです。 プログラムは理論的にはネットワークを介して通信できる必要があります(ただし、テストにはlocalhostで十分です)。選択した言語がネットワークをサポートしていない場合は、サポートしているもの(シェルスクリプトなど)と組み合わせることができます。この場合、スコアは使用されるすべての言語にわたるコードサイズの合計です。 Diffie Hellmanキー生成では、ハードコードされた「p」および「g」値を使用できます。 生成された共有キーは、少なくとも1024ビットである必要があります。 キーが共有されたら、対称キー暗号化の選択はあなた次第ですが、それに対して実際的な攻撃があることが現在知られている方法を選択してはなりません)。許可されたアルゴリズムの例: AES(任意のキーサイズ) RC4(理論的には壊れていますが、言及できる実用的な攻撃はないため、ここでは許容されます) ユーザーAとBはどちらも、相互にメッセージを双方向に送信できる必要があります(双方向通信)(たとえば、stdinからの行の読み取り、継続的なプロンプト、ボタンを押すなどのイベント)。簡単になった場合は、交互の会話を想定できます(つまり、ユーザーがメッセージを送信した後、次のメッセージを送信する前に応答を待つ必要があります) 言語の組み込みが許可されています(既にサポートされている場合、独自の暗号化またはネットワークメソッドを記述する必要はありません)。 基礎となる通信形式はユーザー次第です。 上記の通信手順は一例ですが、従う必要はありません(必要な情報が共有され、中間キーが共有キーまたはメッセージを計算できない場合) サーバーへの接続に必要な詳細が事前にわからない場合(ランダムポートでリッスンする場合など)、これらの詳細を印刷する必要があります。マシンのIPアドレスがわかっていると想定できます。 エラー処理(無効なアドレス、接続の切断など)は必要ありません。 課題はコードゴルフであるため、バイト単位の最短コードが勝ちます。

20
数字を分解してください!
あなたの仕事は、以下の形式を使用して数値を分解することです。 これはベース変換に似ていdigitsますが、ベースにリストする代わりに、リストをvalues入力に追加するようにリストします。 指定されたベースがの場合、nリスト内の各数値はの形式である必要があります。k*(n**m)ここで0&lt;=k&lt;nおよびmはリスト全体で一意です。 スペック 合理的な入力/出力フォーマット。プログラム/関数は2つの入力を受け取り、リストを出力します。 出力リストの順序は任意です。 0 除外または含めることができます。 リード0は許可されます。 組み込みが許可されます。 テストケース number base converted list input1 input2 output 123456 10 [100000,20000,3000,400,50,6] or [6,50,400,3000,20000,100000] 11 2 [8,2,1] or [0,0,0,0,8,0,2,1] 727 20 [400,320,7] 101 10 [100,1] or [100,0,1] 得点 これはcode-golfです。バイト単位の最短ソリューションが優先されます。
16 code-golf  number  sequence  number-theory  base-conversion  code-golf  bitwise  hashing  code-golf  string  ascii-art  whitespace  code-golf  math  code-golf  code-golf  image-processing  counting  code-golf  math  arithmetic  checksum  code-golf  code-golf  math  arithmetic  number-theory  code-golf  array-manipulation  random  code-golf  string  code-golf  math  ascii-art  base-conversion  code-golf  graphical-output  geometry  3d  code-golf  math  linear-algebra  matrix  code-golf  math  number  sequence  code-golf  array-manipulation  code-golf  math  matrix  linear-algebra  code-golf  number  sequence  counting  code-golf  string  code-golf  string  restricted-source  quine  sorting  code-golf  string  geometry  code-golf  string  code-golf  networking  code-golf  base-conversion  code-golf  math  matrix  code-golf  arithmetic  linear-algebra  matrix  code-golf  number  arithmetic  grid  code-golf  number  source-layout  code-golf  string  bitwise  checksum  code-golf  array-manipulation  code-golf  string  probability-theory  code-golf  tips  code-golf  sequence  code-golf  string  math  sequence  calculus  code-golf  string  palindrome  bioinformatics  code-golf  math  combinatorics  counting  permutations  code-golf  parsing  logic-gates  code-golf  arithmetic  number-theory  combinatorics  code-golf  math  sequence  polynomials  integer  code-golf  string  ascii-art  chess  code-golf  string  code-golf  number  code-golf  string  ascii-art  parsing  code-golf  code-golf  number  natural-language  conversion  code-golf  arithmetic  code-golf  string  code-golf  ascii-art  decision-problem 

4
ASCIIアートで長い分割を視覚化する
ASCIIアートで長い除算を視覚化するプログラムを作成します。入力は、選択した入力形式を使用して、分子と分母の2つの整数で構成されます。 例: 1234÷56: 22 ---- 56|1234 112 --- 114 112 --- 2 1002012÷12: 83501 ------- 12|1002012 96 --- 42 36 -- 60 60 -- 12 12 -- 0÷35 0 - 35|0 ルール: プログラミング言語の除算演算子の使用は許可されています。 大きな整数のサポートの使用も許可されています。 一貫性のために: 商がゼロの場合、ダイビングボードの最後にゼロを1つ出力します。 余りがゼロの場合、印刷しないでください。 数字に先行ゼロを印刷しないでください。 末尾の余分な改行と右側の末尾のスペースは許可されます。 最小の文字数のソリューションが勝ちです。 制限: 0 &lt;=分子&lt;= 10 72 - 1 1 &lt;=分母&lt;= 9999999 …

7
IPアドレスをマスクし、そのブロードキャストを与える
バックグラウンド このUnix.SEの質問(そしてもちろん私自身の回答)に触発されました。 インターフェイスにIPアドレスが指定されると、多くの場合、次のドット付き10進形式で指定されます。 a.b.c.d e.f.g.h どこa.b.c.dが実際のアドレスでe.f.g.hあり、ネットマスクです。 ネットマスクは、バイナリで表される場合、基本的に1ビットの束とそれに続く0ビットの束です。ネットマスクが指定されたIPアドレスに対してビット単位でAND演算されると、結果はアドレスのネットワーク部分、または単にネットワークアドレスになります。これはホストのルートテーブルにプログラムされるため、ホストはこのネットワーク宛てのデータをこのインターフェイスから送信することができます。 ネットワークのブロードキャストアドレスは、ネットワークアドレス(上記から)を取得し、すべてのホストビットを1に設定することによって導出されます。ブロードキャストアドレスは、特定のネットワーク内のすべてのアドレスに送信するために使用されます。 チャレンジ 入力としてドット付き10進数のIPアドレスと有効なネットマスクを指定し、出力としてネットワークアドレスとブロードキャストアドレスをドット付き10進数形式で提供します。 入力は、ドット付き10進形式の2つの文字列としてのアドレスとマスクでなければなりません。これを、2つの文字列要素のリストまたは配列、または適切な区切り文字で区切られたアドレスとマスクを持つ単一の文字列として、2つの個別の文字列として渡すことができます。 出力形式には、入力形式と同じ制約が適用されます。 例 Input Output 192.168.0.1 255.255.255.0 192.168.0.0 192.168.0.255 192.168.0.0 255.255.255.0 192.168.0.0 192.168.0.255 192.168.0.255 255.255.255.0 192.168.0.0 192.168.0.255 100.200.100.200 255.255.255.255 100.200.100.200 100.200.100.200 1.2.3.4 0.0.0.0 0.0.0.0 255.255.255.255 10.25.30.40 255.252.0.0 10.24.0.0 10.27.255.255

7
詳細なIP範囲ジェネレーター
タスクは単純で、2つのIPアドレスaとが与えられb、その範囲内のすべてのアドレスを出力します。 例 例#1: f(a = 192.168.0.1, b = 192.168.0.4) 192.168.0.1 192.168.0.2 192.168.0.3 192.168.0.4 例#2(TIOはこれを切り捨て、テスト時により小さい範囲を使用します): f (a = 123.0.200.0, b = 124.0.0.0) 123.0.200.0 123.0.200.1 ... # Omitted pattern 123.0.200.255 123.0.201.0 ... # Omitted pattern 123.0.201.255 ... # Omitted pattern 123.0.255.255 123.1.0.0 ... # Omitted pattern 123.255.255.255 124.0.0.0 入出力 a &lt; b …

2
すべての有効なクラスフルパブリックユニキャストIPv4アドレスを出力します
IPv4アドレスは32ビット幅であるため、アドレス空間のサイズは2 32、つまり4,294,967,296です。ただし、これは理論上の上限にすぎません。これは、実際に公衆インターネットで使用される可能性があるすべてのアドレスを正確に表したものではありません。 この課題では、すべてのアドレス指定がクラスフルであると想定されています。実際には、アドレス空間のクラス分けはCIDR(Classless Inter-Domain Routing and VLSM(Variable Length Subnet Masking))に取って代わられましたが、これはこの課題では無視されます。 クラスフルアドレススキームによれば、3つのクラスがあります。 クラスA - 0.0.0.0へ127.255.255.255と/8ネットマスク長 クラスB - 128.0.0.0へ191.255.255.255と/16ネットマスク長 クラスC - 192.0.0.0へ223.255.255.255と/24ネットマスク長 クラスD(マルチキャスト)およびE(予約済み)も定義されていますが、これらはパブリックユニキャストアドレスには使用されません。 各クラスは、そのクラスのネットマスクに従ってネットワークに分割されます。 したがって3.0.0.0、クラスAネットワークの例です。クラスAのネットマスク長が8であるので、このネットワークのための完全なアドレス空間がある3.0.0.0に3.255.255.255。ただし、最初のアドレス(3.0.0.0)はネットワークアドレスとして予約され、最後のアドレス(3.255.255.255)はそのネットワークのブロードキャストアドレスとして予約されています。したがって、使用可能なアドレスの実際の範囲は3.0.0.1に3.255.255.2542である24 - 2(= 16777214)合計アドレス。 同様に、200.20.30.0クラスCネットワークの例です。クラスCのネットマスク長が24であるので、このネットワークのための完全なアドレス空間がある200.20.30.0に200.20.30.255。ネットワークブロードキャストアドレスの葉を使用可能なアドレスの実際の範囲を除去することである200.20.30.1と200.20.30.254その2 8 2(= 254)合計アドレス- 。 パブリックユニキャストに使用できるアドレス範囲には、さらに制限があります。RFC 6890によると、許可されない範囲は次のとおりです。 0.0.0.0/8 -ローカルネットワーキング 10.0.0.0/8 -私的使用 100.64.0.0/10 -共有アドレス空間 127.0.0.0/8 -ループバック 169.254.0.0/16 -ローカルリンク 172.16.0.0/12-私的使用 192.0.0.0/24 -IETFプロトコルの割り当て 192.0.2.0/24 -ドキュメントでの使用のために予約済み 192.88.99.0/24 -6to4リレーエニーキャスト …

7
コードゴルフ:フェイリーシーケンス(I)
チャレンジ このタスクでは、整数N(10 ^ 5未満)が与えられ、次数NのFareyシーケンスが出力されます。 入力Nは1行で指定され、入力はEOFで終了します。 入力 4 3 1 2 出力 F4 = {0/1, 1/4, 1/3, 1/2, 2/3, 3/4, 1/1} F3 = {0/1, 1/3, 1/2, 2/3, 1/1} F1 = {0/1, 1/1} F2 = {0/1, 1/2, 1/1} 制約 入力数は10 ^ 6の値を超えません 任意の言語を使用できます 最短のソリューションが勝ちます!
10 code-golf  math  code-golf  math  code-golf  number  number-theory  code-golf  math  arithmetic  repeated-transformation  code-golf  geometry  popularity-contest  code-golf  code-golf  tips  haskell  math  fastest-algorithm  code-golf  combinatorics  code-golf  math  polynomials  rational-numbers  code-golf  code-golf  popularity-contest  javascript  code-golf  kolmogorov-complexity  code-golf  code-golf  math  combinatorics  permutations  code-challenge  restricted-source  random  array-manipulation  code-challenge  generation  code-golf  code-golf  ascii-art  arithmetic  division  code-challenge  number  code-golf  math  number  binary  code-golf  ascii-art  code-golf  interpreter  stack  code-golf  internet  networking  code-golf  math  code-golf  ascii-art  code-golf  math  sequence  code-golf  hello-world  restricted-source  code-golf  ascii-art  code-golf  geometry  code-golf  kolmogorov-complexity  pi  code-golf  math  combinatorics  permutations  code-golf  math  code-challenge  ascii-art  code-golf  string  code-golf  quine  code-golf  math  floating-point  golfscript  code-golf  string  code-golf  sliding-puzzle  code-challenge  arithmetic  code-golf  math  code-golf  geometry  optimized-output 

1
単純なプロキシを構築する
最短のプロキシサーバーを作成します。 入出力仕様 クライアント: 入力:ポート番号(32ビット整数)(、)または(スペース) url(テストケースを参照) 出力:URLのHTMLソース サーバ: 入力:待機するポート(32ビット整数) 出力:クライアントから入力を受け取ったときにREC、HTMLソースをクライアントに送信し終えたらOK。 ルール あなたは、どちらかのことがあり、完全なプログラムまたはインタプリタ言語の関数を。 入力はstdinを通じて取得されるか、引数として指定されます。 コードは、指定されたテストケースに対してのみ機能する必要があります(詳細はオプションで、詳細は無効です)。 クライアントの出力は、ブラウザから「ソースを表示」したときに得られるものと同じでなければなりません。 リクエストが処理されるたびにサーバーが終了する場合があります(つまり、永続的/デーモンである必要はありません)。 (編集)指定されたもの以外の入出力は禁止されています。 テストケース(クライアント入力) N 1 https://stackoverflow.com/ N 2 http://en.wikipedia.org/wiki/Proxy_server N 3 http://stackexchange.com/search?q=code+golf ここで、N iは1〜2048のランダムな整数です。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.