プログラミングパズルとコードゴルフ

プログラミング愛好家やコードゴルファーのためのQ&A

2
ニュースを読むのは退屈です。助けて!
ニュースが退屈であることは誰もが知っています。本当につまらない。政治家とそのスキャンダルに関するものでない限り。それは楽しいです!しかし、悲しいかな、政治家は非常に多くのスキャンダルを犯すことができます。そこで、ニュースをもっと面白くするためにあなたを雇っています。 目的 HTMLスニペットが与えられたら、ここにあるすべての置換を実行します。つまり、次の図です。 ただし、HTMLタグ自体は編集しないでください。有効な単語とは、HTMLタグまたはその属性内にない単語をいいます。つまり、あなたが代わるべきではない<div class="smartphone">iPhone</div>と<div class="pokedex">iPhone</div>、しかし、交換する必要があります<div>election</div>し<div>eating contest</div>。 解析ルール 編集非単語で区切られた単語のみを一致させる必要があります。つまり、完全な単語のみを一致させる必要があります。(たとえば、「He​​llo witness」と一致しますが、「Hellowitness」、「Hellow itness」、または「Witnesspacelection」とは一致しません。 キーボードで文字を入力できない場合は、最も近いものを表示する必要があります。(たとえば、「スマートフォン」は実際には「ポケデックス」になります) 最初の文字のケースまたはすべての文字のケースを保持する必要があります。(例えば、「彼らは死んだと思われる」は「おそらく金田、彼らは死んだ」、「彼らは死んだと思われる」は「おそらく彼らは死んだ」、「THE ELECTION!」は「THE EATING CONTEST!」、「SpAcE」は「Spaaace」と「nEW STUDY」は「tumblr post」になります) すべてのケースが一致する必要があります。(つまり、大文字と小文字に関係なく、単語を一致させる必要があります。) a <vowel>満たされるインスタンスはすべてan <vowel>、その逆になります。(たとえば、「上院議員」は「エルフの領主」になります)すべてのインスタンスに対してこれを行う必要はありませんが、少なくともあなた自身の交換のために。 複数形もすべて、翻訳で複数形を保持する必要があります(たとえば、「Smartphones」は「pokedex」になり、「Spaces」は「Spaaaces」になります) 特定の時制にあるものはすべて、翻訳時にその時制に残っている必要があります。(たとえば、「再構築」は「復ven」に、「再構築」は「復ven」などになります。) 翻訳では、単数形のすべてが単数形のままでなければなりません(たとえば、「議会の指導者」は「川の精神」になります) エントリが複数のHTML要素にまたがる場合、一致する必要がありますが、中間要素は「破棄」できます。(たとえば、S<b>pa</b>ace単に「spaaace」になるはずです)。エントリが単一の要素内に自己完結している場合、エントリは適切に照合され、タグは保持されます。 「証人」は「私が知っている男」になるはずです 「目撃者」は「私が知っているこの男」になるはずです 「証人」は「私が知っているあの男」になるはずです 「コメントが届かない」は「有罪であり、誰もが知っている」になります。 「コメントが届かない」は「有罪であり、誰もが知っている」になります ボーナス -N%ボーナスに出会ったら、あなたのnew amount = (old amount) * (1 - N/100)。だから、あなたが満たされた場合に-5%500バイトコードとボーナスを、あなたnew amount = 500 * (1 - 5/100) = 500 …
22 code-golf  string 

22
qaはnの2次剰余ですか?
与えられた2つの入力が以下をq n決定するqと、が2次剰余であるがnます。 つまり、正方形のmod はxどこにありますx**2 == q (mod n)かqnますか? 入力 2つの整数qおよびn、ここでqおよびnは任意の整数です0 <= q < nです。 出力 真実か偽か。 オプションで、以下のいずれか(またはすべて)xを印刷しますx**2 == q (mod n) 例 >>> quadratic_residue(1, 5) True >>> quadratic_residue(3, 8) False >>> quadratic_residue(15, 22) True ルール コードはプログラムまたは関数でなければなりません。入力は任意の順序にすることができます。これはコードゴルフであるため、バイト単位の最短コードが優先されます。 不明な点がある場合や修正が必要な場合は、お知らせください。 ボーナス 関数がq任意の整数として受け入れる場合の2バイトのボーナス。 カタログ var QUESTION_ID=65329;var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe";var COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk";var OVERRIDE_USER=47581;var answers=[],answers_hash,answer_ids,answer_page=1,more_answers=true,comment_page;function answersUrl(index){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+index+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(index,answers){return"http://api.stackexchange.com/2.2/answers/"+answers.join(';')+"/comments?page="+index+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:true,success:function(data){answers.push.apply(answers,data.items);answers_hash=[];answer_ids=[];data.items.forEach(function(a){a.comments=[];var id=+a.share_link.match(/\d+/);answer_ids.push(id);answers_hash[id]=a});if(!data.has_more)more_answers=false;comment_page=1;getComments()}})}function …

3
ゴルフストリングス
文字列圧縮を必要とするkolmogorov-complexityの課題に対する答えを出すことができませんでした。主な理由は、文字列圧縮ツールを必要以上に効果的に使用することを知らないためです。 このため、この質問を投稿しました。私の他のヒントの質問とは異なり、これは言語固有の意味ではありません。自分の言語でヒントを考えることができる場合は、投稿することができます(言語を指定する場合)。一般的なヒントも歓迎します。 それでは、文字列圧縮ツールを最大限に有効に使用するにはどうすればよいですか?

14
リンドンの単語を確認する
リンドン・ワードは厳密である文字列で辞書順で小さいその環状の回転のいずれよりも。バイナリ文字列が与えられたら、それができるだけ少ないバイト数のリンドン語かどうかを判断します。 たとえば001011、Lyndonの単語です。以下にリストされているその回転は、最初のシンボルを最後まで繰り返し移動することによって取得されます。 001011 010110 101100 011001 110010 100101 これらのうち、元の文字列は辞書的に最初に来るか、同等に、最小のバイナリ数を表します。 ただし、001001Lyndonの単語ではありません。これは、その回転の1つがそれ自体と同じであるため、辞書的に最も早いものに結び付けられているためです。 関連する問題。 入力:空でないバイナリ文字列または数字0とのリスト1。を表すために数字を使用することはできません。5101 出力:文字列がリンドン語かどうかを示す一貫したTruthyまたはFalseyの値。 Lyndonの単語専用のビルトインは許可されていません。 テストケース: 最大6文字のリンドン語は次のとおりです。 0 1 01 001 011 0001 0011 0111 00001 00011 00101 00111 01011 01111 000001 000011 000101 000111 001011 001101 001111 010111 011111 4までの長さの非リンドン語は次のとおりです。 00 10 11 000 010 100 101 110 111 0000 …
22 code-golf  string 

16
月曜日のミニゴルフ#4:JARVIS(Just Another Rather Vast set of Integer Sequences)
月曜日のミニゴルフ:毎週月曜日に(願わくば!)投稿された一連の短いコードゴルフの質問。 (すみません、また遅くなりました。基本的に昨日も今日もコンピューターから離れていました。) 私たちプログラマー(特にコード愛好家)は、任意の整数シーケンスが大好きです。これらのシーケンス専用のサイト全体があり、現在約200,000のエントリがあります。この課題では、これらのシーケンスのさらに別のセットを実装します。 チャレンジ あなたの課題は、整数Nを取り込んで10を基数とする整数のシーケンスを出力するプログラムまたは関数を作成することです。次の各整数は次のように決定されます。 1から始めます。 前の整数の基数10表現の各桁Dに対して: Dが0の場合、現在の整数に1を追加します。 そうでなければ、現在の整数にDを掛けます。 詳細 0 < N <2 31と仮定できます。 シーケンス内の各整数は、10未満の数に達するまで、入力番号から始めて出力する必要があります。 出力は、配列、またはスペース、コンマ、改行、またはこれらの組み合わせで区切られた文字列です。 末尾のスペースや改行を使用できますが、末尾のコンマは使用できません。 先行ゼロはありません。 例 例1: 77 この例はかなり簡単です。 77 = 1*7*7 = 49 49 = 1*4*9 = 36 36 = 1*3*6 = 18 18 = 1*1*8 = 8 したがって、適切な出力は77 49 36 18 8です。 例2: 90 …

30
Thue-Morseシーケンスを書き出す
このサイトには、シーケンスを印刷するように求めるいくつかの課題がありますが、これも例外ではありません。 (このチャレンジのシーケンスの次の説明では、シーケンス内のシンボルが0およびであると想定しています1。) 再帰的定義Thue-Morseのシーケンスがあることです T_0 = 0 T_2n = T_n T_2n+1 = 1 - T_n より直接的な定義はからそのシーケンスである0と2**m-1し、2**m to 2**(m+1)-1バイナリ補完しています。そう0では続いて1、01続いて10、0110続いて1001、そして、先にビットを飛ばし、0110100110010110続いています1001011001101001。 課題は、最初の要素のThue-Morseシーケンスを出力するプログラムまたは関数を作成することです。nここで、nは負でない整数です。以下の例に示すように、出力には任意の2つのシンボルを使用できます。 例 >>> tm_01(20) 01101001100101101001 >>> tm_ab(42) abbabaabbaababbabaababbaabbabaabbaababbaab >>> tm_paren(37) ())()(())(()())()(()())(())()(())(()( >>> tm_space_star(12) ** * ** * >>> tm_01(0) # to show that this is a valid input ルール 入力は負でない整数になります。すべての入力が有効であると想定できます。 出力nは、便利な記号を使用して、Thue-Morseシーケンスの最初の要素でなければなりません。必要に応じて、セパレータを追加することもできます。私の例では、そうではありません。 注:としてこのルールは、(Pythonののそれらのような)のリストを可能にする,有効な区切りであると私は文字を先頭または末尾に気にしないよう、[そして]出力に。 これはコードゴルフであるため、最小バイト数が優先されます。 …

1
依存関係グラフの可視化
この課題の目標は、依存グラフをツリー形式で視覚化するプログラムを作成することです。この文脈での「依存グラフ」は有向グラフにすぎませんが、ここで説明する視覚化方法は、いくつかの依存関係を説明するグラフに最適です(課題として、課題を読んだ後、サンプルグラフ、および結果が有用かどうかを確認します。) プログラムへの入力は、次の形式の行である1つ以上のターゲット定義で構成されます。 Target DirectDependency1 DirectDependency2 ... 、ターゲットの定義、および関連する直接依存関係(ある場合)。ターゲットとその依存関係は、まとめてオブジェクトと呼ばれます。オブジェクトが依存関係としてのみ表示され、ターゲットとして表示されない場合、そのオブジェクトには依存関係がありません。入力に現れるすべてのオブジェクトのセットはΓと呼ばれます。(入力形式の詳細については、「入力および出力」セクションを参照してください。) オブジェクトのペアAとBについて、次のように言います。 依存するB(等価的に、 Bがで必要とされるA)場合、 Aは直接に依存する B場合、または Aは直接に依存する B「および B」に依存する B一部のオブジェクトのために、 B」。 適切に依存するB(等価的に、 Bが適切で必要とされるA場合、) Aが依存する B、及び Bは依存しない A。 私たちは、不自然なオブジェクトを定義ʀooᴛ ʀooᴛが直接すべてのオブジェクトによって必要とされていないような、ないΓに、そしてすべてのオブジェクトのためにこのような、というAを、ʀooᴛ直接に依存してA場合と場合にのみ、Aは Γであり、そしてAがありません適切Γ内の任意のオブジェクトによって必要とされる(換言すれば、ʀooᴛ直接に依存Aは他のオブジェクトが依存していない場合はA、または依存するすべてのオブジェクト場合Aはまたによって必要とされるA。) 出力ツリー ルートノードが「oo」であり、各ノードの子がその直接の依存関係であるようなtreeを構築します。例えば、与えられた入力 Bread Dough Yeast Dough Flour Water Butter Milk 、結果のツリーは 、またはASCII形式で、 ʀooᴛ +-Bread | +-Dough | | +-Flour | | +-Water | +-Yeast …

2
自然数の列
定義 連結された自然数(1から始まる正の整数)の無限の行があります。 1234567891011121314151617181920212223... チャレンジ 入力として位置番号を受け入れ、上記で定義された行のその位置から数字を出力する任意の言語でプログラムを作成します。 位置番号は、任意のサイズの正の整数です。つまり、最初の位置は1であり、出力数字「1」が生成されます。 入力は、10進数(例:13498573249827349823740000191)、または正の整数に対応するe表記(例:1.2e789)のいずれかです。 非常に大きなインデックスを入力として指定すると、プログラムは妥当な時間(最新のPC / Macでは10秒)で終了する必要があります(たとえば、1e123456-123456ゼロの1)。したがって、単純な反復ループは受け入れられません。 無効な入力が与えられた場合、プログラムは1秒以内にエラーで終了する必要があります。例えば。1.23e(無効)、または1.23e1(12.3に等しい-整数ではない) パブリックBigNumライブラリを使用して数値を解析/保存し、それらに対して単純な数学演算を実行しても問題ありません(+-* / exp)。バイトペナルティは適用されません。 最短のコードが優先されます。 TL; DR 入力:bignum整数 出力:無限行のその位置の数字 123456789101112131415... いくつかの受け入れテストケース 「入力:出力」という表記で。それらはすべて合格するはずです。 1:1 999:9 10000000:7 1e7:7(上記の行と同じ) 13498573249827349823740000191:6 1.1e10001:5 1e23456:5 1.23456e123456:4 1e1000000:0 1.23e:エラー(無効な構文) 0:エラー(範囲外) 1.23e1:エラー(整数ではない) ボーナス! 数字内の桁位置番号を出力し、数字自体を出力します。例えば: 13498573249827349823740000191: 6 24 504062383738461516105596714 番号「50406238373846151610559 6 714」の位置24の数字「6」です。 1e1000000: 0 61111 1000006111141666819445...933335777790000 999995桁の長い数字の位置61111の数字「0」ここには含めません。 ボーナスタスクを実行する場合、コードのサイズに0.75を掛けます クレジット …

28
真実を逆にする
次のプログラムまたは関数を作成します。 stdioまたは引数から文字列を受け取ります truewith falseおよびfalsewithのすべての出現を置き換えますtrue それが逆になりますが、逆にしないtrueとfalse 結果を返すか出力します 例(左側が入力): "true" "false" "2false" "true2" "true is false" "true si false" "false,true,undefined" "denifednu,false,true" "stressed-false" "true-desserts" "falstrue" "falseslaf" "true false true x" "x false true false" 標準の抜け穴が適用されます。これはcode-golfなので、バイト単位の最短コードが優先されます。 リーダーボード コードスニペットを表示 var QUESTION_ID=63256,OVERRIDE_USER=20569;function answersUrl(e){return"http://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"http://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 …

6
レインボーテキストを作成する
あなたの課題は、入力をテキスト行として取得し、次のように出力することです。 入出力 入力は、印刷可能なASCII文字のみを含む文字列になります。最初または最後の文字がスペースになることはありません。また、2つのスペースが連続することはありません。常に少なくとも2文字の長さになります。 出力は、以下で説明するように、虹色に変換された同じ文字列である必要があります。出力は画像形式(ファイルに保存されるか、何らかの方法で利用可能になったもの)である場合もあれば、単に画面に結果を表示する場合もあります(以下の参照実装のように)。 変換 文字列の各文字が何色になるかを判断するには、次のアルゴリズムを使用します。各文字は、独自の個別の色であることに注意してください。これは勾配ではありません! この文字がスペースの場合: ...スペースは実際にはできないので、それは問題ではありません...とにかく色を持っています。単にスペースを出力します。 さもないと: Let i=文字列内のこの文字のインデックス(0から始まるため、最初の文字の場合、これは0)で、スペースはカウントしません。例えば、文字列でfoo bar、この値は次のようになります4ためa。つまり、これは、これまでに検出された非スペースの数です。 Let n=文字列内の非スペースの数。 この文字の色は、HSL円筒座標系で、[色相=(i/ n)* 360°、彩度= 100%、明度= 50%] として表現できるようになりました。 これらの指示は、の後に追加されたスペースを除き、fooとの出力f ooがまったく同じであることを意味することに注意してくださいf。つまり、すべての文字が同じ色を保持する必要があります。 変換プロセスのその他の規則については、以下の「規則」セクションで説明します。 リファレンス実装 これはJavaScriptで記述されており、「コードスニペットの実行」ボタンを押すことで試すことができます。 window.addEventListener('load', function() { addRainbow('Your challenge is to take input as a line of text and ' + 'output it like this.'); }); // append this …
22 code-golf 

7
ドミノのように落ちる
あなたは80文字幅の端末内に住んでいます。あなたは退屈しているので、ドミノをプレイすることにします。いいえ、Scrabbleのように見える退屈な種類ではなく、1時間をかけてそれらを見るためにそれらを設定する楽しい種類です。 ターミナルでは、ドミノは次のようになります。 | upright domino \ left-tilted domino / right-tilted domino __ fallen domino ご存知のように、傾斜したドミノが直立したドミノに触れると、2番目のドミノも傾斜します。唯一の例外は、2つの傾斜したドミノがそれに触れる場合です。 |\ --> \\ /| --> // /|\ --> /|\ この遷移に100ミリ秒かかるように、端末の重力定数を調整します。 傾斜したドミノが別のドミノまたはターミナルの壁に支えられている場合、その旅は終了します。 傾斜ドミノはありません \||||____||||/__ /|\ /\ /|\ __\||||____||||/ (80文字)が移動します。これは、最も外側に傾いた2つのドミノがターミナルの壁でサポートされ、他のすべてが他のドミノでサポートされているためです。 ただし、傾斜方向のスペースが空の場合、ドミノは落下します。 | \\ --> |__\ // | --> /__| ターミナル。重力定数。あなたはポイントを得る... 最後に、左からわずかな風が吹いているので、右に傾いたドミノは左に傾いたドミノよりも速く落下します。 |/ \| --> |__\| 仕事 ターミナルでドミノをプレイするアニメーションを表示するプログラム/関数を作成します。 …

4
SKIコンパイラーの最適化
SKIの計算は、ラムダ式を使用していないラムダ計算の変種です。代わりに、アプリケーションとコンビネータS、K、およびIのみが使用されます。この課題では、あなたの仕事は、SKI用語をβ標準形のラムダ用語に翻訳することです。 入力仕様 入力は、次のテキスト表現のSKI用語です。オプションの末尾の改行を受け取ることを選択できます。入力は、文字で構成されS、K、I、(、及び)で(ABNF形式で)次の文法を満たすsterm開始記号です。 sterm = sterm combinator ; application sterm = combinator ; sterm = '(' sterm ')' ; grouping combinator = 'S' | 'K' | 'I' ; primitives 出力仕様 出力は、次のテキスト表現の自由変数のないラムダ項です。オプションの末尾の改行を出力することもできます。出力はlterm、開始記号であるABNF形式の次の文法を満たします。 lterm = lterm operand ; application lterm = ALPHA '.' lterm ; lambda lterm = operand operand = '(' …

6
千鳥格子パターンを描く
2つの正の整数(幅と高さ)を取り、この25×26テキストグリッドをベースセルとして使用して、これらの寸法でASCIIアート千鳥格子パターンを描くプログラムまたは関数を記述します。 .......#.....#####....... .......##.....#####...... .......###.....#####..... .......####.....####..... .......#####.....###..... .......######.....##..... .......#######.....#..... .......########.......... ####################..... .####################.... ..####################... ...####################.. ....####################. .....#################### #.....##############.#### ##.....#############..### ###....#############...## ####...#############....# #####..#############..... .#####.#############..... ..##################..... ........#####............ .........#####........... ..........#####.......... ...........#####......... ............#####........ したがって、入力が2,1出力の場合は次のようになります。 .......#.....#####..............#.....#####....... .......##.....#####.............##.....#####...... .......###.....#####............###.....#####..... .......####.....####............####.....####..... .......#####.....###............#####.....###..... .......######.....##............######.....##..... .......#######.....#............#######.....#..... .......########.................########.......... ####################.....####################..... .####################.....####################.... ..####################.....####################... ...####################.....####################.. ....####################.....####################. .....####################.....#################### #.....##############.#####.....##############.#### ##.....#############..#####.....#############..### ###....#############...#####....#############...## ####...#############....#####...#############....# #####..#############.....#####..#############..... .#####.#############......#####.#############..... ..##################.......##################..... ........#####....................#####............ …

2
呪文を唱えられますか?
マジック:ザギャザリングでは、メイジ(「プレインズウォーカー」として知られる)は呪文を唱えることによって互いに戦います。呪文のコストはマナです。マナには、白、青、黒、赤、緑の5色があり、それぞれ{W}、{U}、{B}、{R}、{G}として表されます。 呪文のコストはやや複雑です。コストは、次の任意の組み合わせにすることができます。 1つまたは複数の色 {X}として表される1つ以上の無色、Xは正の整数 {Y / Z}で表される1つ以上のハイブリッド。YとZは色(5文字のいずれかで表される)または無色で、正の整数で表されます。 呪文を唱えようとするとき、次の規則が適用されます。 コスト内の色は、その色の1マナで満たされる必要があります 無色のコスト{X}は、どの色のXマナでも満たすことができます ハイブリッドコスト{Y / Z}は、YまたはZのいずれかを満たすことで満たされます。 ブレースはネストされないことに注意してください YとZはハイブリッドではありません マナのプールとコストが与えられると、そのプール内のマナがコストを満たすことができる場合にのみtrue(または何らかの真理値)を出力または返すプログラムまたは関数を作成します。 マナプールは、次の形式の空でない文字列です。 Color1,Color2,Color3,...,Colorn-1,Colorn コストは、次の形式の空でない文字列です。 Cost1,Cost2,Cost3,...,Costn-1,Costn 例 フォーマットPool Cost -> ExpectedOutput(プールとコストの間にスペースがあります): {R},{R},{G},{B},{R} {4},{R} -> True {G},{G},{G},{G},{W},{W},{W} {2/W},{2/U},{2/B},{2/R},{2/G} -> False {G},{G},{R} {R/G},{G/B},{B/R} -> True {R},{R},{R},{G} {1},{G},{2/G}-> True {R} {R},{R},{R},{R},{R} -> False {W},{R},{R} {2/W},{W/B} -> True {U},{U} {1} …

14
ユークリッドアルゴリズム(最大公約数を見つけるため)
チャレンジ 2つの入力の整数を取るプログラムや関数を書いて、iそしてj、それらの最大公約数を出力します。ユークリッドアルゴリズムを使用して計算されます(以下を参照)。 入力 入力は、スペースで区切られた文字列表現としてi、jまたは2つの別個の整数として取得できます。整数は10,000以下であると想定できます。また、入力整数は互いに素ではないと想定できます。 ユークリッドの内訳 との間の大きい数はi、jできるだけ小さい数で除算されます。次に、残りが追加されます。このプロセスは、残りがになるまで、残りと前の数で繰り返され0ます。 たとえば、入力が1599 650次の場合: 1599 = (650 * 2) + 299 650 = (299 * 2) + 52 299 = (52 * 5) + 39 52 = (39 * 1) + 13 39 = (13 * 3) + 0 最後の数、13は2つの入力整数の最大公約数です。次のように視覚化できます。 出力 出力は上記の形式の内訳で、その後に改行とGCDが続く必要があります。任意のメディアを介して出力できます。 例 入力 18 27 …
22 code-golf  math 

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