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

課題には数学が含まれます。また、より具体的なタグの使用を検討してください:[数値] [数値理論] [算術] [組み合わせ] [グラフ理論] [形状] [抽象代数]。

7
不運な数字!
知っておくべきこと: まず、ラッキーナンバー。 ラッキーナンバーは次のように生成されます: すべての自然数を取る: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20... 次に、各2番目の数字を削除します。 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39... 今、3安全です。 3番目ごとに番号を削除します。 1, 3, 7, …

8
モジュロロザスを生成する
クールなもの 次のロザスは、7を法とする数値の計算に役立ちます。 そのためには、0から開始して、最初の桁で指定された数のステップを時計回りに回す必要があります。次に、連続する各桁について、矢印に従い、その桁で指定されたステップ数だけ時計回りに回します。 294番の手順は次のとおりです。 サークル0から開始します。 最初の桁で与えられるステップ数を時計回りに回します(これは2で、最終的に2になります)。 そこで矢印をたどります(最終的に6になります)。 2番目の桁で与えられるステップ数を時計回りに回します(9で、最終的に1になります)。 そこの矢印に従います(最終的に3になります)。 3番目の数値(4、つまり0になります)で指定されたステップ数を時計回りに回します。 294 mod 7 = 0(294は7の倍数を意味します)。 (まだ取得していない場合のビデオの説明) 目標 それがどのように機能するかを理解してください(私は知っていますが、教えません)。 nパラメータに数値を取り、のrosaceを生成するプログラムを作成しますmod n。 ロザスは、8歳の子供が使用できる限り、任意の手段(ASCII、PNGの生成、SVGの生成など)で表示できます(したがって、ルールのリストはありません。写真が必要です)。 例で作成したものよりも明確ではない場合でも、直線を使用できますが、何らかのテールバイティング矢印で自分自身を指す数字を明確に表示する必要があります。 テストケース (数字間のリンクのみを提供します。プログラムで問題が生成されたら、気軽に質問を編集してください) mod 2: 0 -> 0 1 -> 0 mod 3: 0 -> 0 1 -> 1 2 -> 2 mod 4: 0 -> 0 1 -> …

3
間違っていることを証明してください!
前書き 人生におけるあなたの使命は簡単です:インターネット上で人々を間違って証明してください! これを行うには、通常、それらのステートメントを慎重に分析し、それらの矛盾を指摘します。 これを自動化する時が来ましたが、私たちは怠け者なので、可能な限り少ない労力(読み:最短のコード)で人々が間違っていることを証明したいと思います。 仕様 入力 入力は、連言標準形の式になります。この形式については、言語のニーズに応じて、以下の形式を使用するか、独自の形式を定義できます(ただし、純粋なCNF以外の形式でエンコードすることはできません)。ただし、テストケース(ここ)は以下の形式で提供されます(ただし、独自のテストケースを生成するのはそれほど難しくありません)。 入力は、変数のリストのリストになります(文字列として読むことも、文字列を要求することもできます)。入力は、それぞれが2つのリストのリストである一連の節として記述された、連言標準形(CNF)の式です。句の最初のリストは正のリテラル(変数)をエンコードし、2番目のリストは負の(否定)リテラル(変数)をエンコードします。句のすべての変数はORで結合され、すべての句はANDで結合されます。 より明確にするために:[[[A,B],[C]],[[C,A],[B]],[[B],[A]]]として読むことができます: (A OR B OR (NOT C)) AND (C OR A OR (NOT B)) AND (B OR (NOT A)) 出力 出力はブール値です。たとえば、いくつかの真実の値または偽の値です。 何をすべきか? それは簡単です:手元に与えられた式が充足可能かどうかをチェックします。たとえば、式全体が「true」になるようにすべての変数にtrueとfalseの割り当てがあるかどうかを確認します。数式が満足できる場合は「true」、そうでない場合は「false」になります。 おもしろい事実:これは一般的な場合のNP完全問題です。 注:真理値表を生成し、結果のエントリが真であるかどうかを確認することは許可されています。 コーナーケース 空の第3レベルのリストを取得した場合、その句にはそのような(正/負)変数はありません-有効な入力です。 必要に応じて、他のコーナーケースを未定義のままにすることができます。 空の式(1番目のレベルのリスト)でtrueを返し、空の句(2番目のレベルのリスト)でfalseを返すこともできます。 誰が勝ちますか? これはコードゴルフなので、バイト単位の最短回答が勝ちです! もちろん、標準ルールが適用されます。 テストケース [[[P],[Q,R]],[[Q,R],[P]],[[Q],[P,R]]] -> true [[[],[P]],[[S],[]],[[R],[P]],[[U],[Q]],[[X],[R]],[[Q],[S]],[[],[P,U]],[[W],[Q,U]]] -> true [[[],[P,Q]],[[Q,P],[]],[[P],[Q]],[[Q],[P]]] -> false …
22 code-golf  math  logic 

15
Nのパーティションを計算します
あなたの挑戦は簡単です:整数Nを与えられ、合計がNになる正の整数のリストを出力します。たとえば、入力が5の場合、出力する必要があります [1, 1, 1, 1, 1] [1, 1, 1, 2] [1, 1, 3] [1, 2, 2] [1, 4] [2, 3] [5] これらのリストは特定の順序で出力する必要はなく、各リスト内の数字も出力する必要はありません。たとえば、これは「5」の受け入れ可能な出力にもなります。 [1, 1, 1, 2] [5] [3, 1, 1] [2, 1, 2] [4, 1] [1, 1, 1, 1, 1] [2, 3] 入力は正の整数であると安全に想定でき、この数値は任意の妥当な形式で取得できます。 これを行う組み込み関数は使用できません。 プログラムが失敗するか、大きなNに対して時間がかかりすぎる場合、これは問題ありませんが、少なくとも最初の15に対して正しい出力を生成する必要があります。 標準的な抜け穴が適用され、バイト単位の最短回答が勝ちます! テストIO 1: [[1]] 2: …

12
多項式受容
f,g整数に対する任意の次数の2つの多項式が与えられた場合、プログラム/関数は2番目の多項式の最初の多項式を評価する必要があります。f(g(x))(別名組成物 (fog)(x) 2つの多項式の) 詳細 組み込みが許可されます。入出力として適切なフォーマットを想定できますが、入力と出力のフォーマットは一致する必要があります。例えば、文字列としてのフォーマット x^2+3x+5 または係数のリストとして: [1,3,5] or alternatively [5,3,1] さらに、入力多項式は完全に拡張されると想定でき、出力も完全に拡張されると予想されます。 例 A(x) = x^2 + 3x + 5, B(y) = y+1 A(B(y)) = (y+1)^2 + 3(y+1) + 5 = y^2 + 5y + 9 A(x) = x^6 + x^2 + 1, B(y) = y^2 - y A(B(y))= y^12 …

30
2、3、および4で割り切れるNの後の最小の整数
誰にクレジットを支払うべきかをクレジットします。 客観整数を考えるとN > 0、最小の整数アウトA、BとCなるように: 、、およびのすべてはA、よりも厳密に大きい。BCN 2分割するA; 3分割するB; および4除算C。 これはコードゴルフであるため、バイト単位の最短回答が優先されます。このチャレンジ後に作成/更新された言語を使用できますが、厳密には競合していません。 テストケース N => A, B, C 1 => 2, 3, 4 4 => 6, 6, 8 43 => 44, 45, 44 123 => 124, 126, 124 420 => 422, 423, 424 31415 => 31416, 31416, 31416 1081177 => 1081178, 1081179, 1081180
22 code-golf  math  number 

9
スーパーコラッツの数字を印刷する
このCollat​​zシーケンスあなたが、任意の正の整数で始まるこの例では、我々は10を使用し、それへのステップのセットを適用する場所(も3X + 1問題と呼ばれる)があります。 if n is even: Divide it by 2 if n is odd: Multiply it by 3 and add 1 repeat until n = 1 10は偶数なので、2で割って5を取得します。5は奇数です。したがって、3を乗算して1を加算して16を取得します。16は偶数です。 4は2であり、2の半分は1です。これは6ステップを要したため、10の停止距離は6であると言います。 Super Collat​​z番号は、停止距離がそれよりも小さいすべての番号の停止距離よりも大きい番号です。図6は、8の停止距離を有するので、例えば、図6は、2 1を有しており、1は0(持つ、3 7を有し、4 2を有し、5は5の停止距離を有し、スーパーこのCollat​​z番号A006877 OEISで)あなたが必要と番号を取るn個の入力として、及びまでのすべてのスーパーこのCollat​​z番号アウト出力のn。 ルール 完全なプログラムまたは機能が許容されます。 Super Collat​​zシーケンスを事前計算またはハードコーディングすることはできません。 任意の妥当な形式で入力できます。 出力は、関数からリストとして返されるか、STDOUTまたはファイルに出力されます。最も便利な方。 無効な入力(非数字、小数、負数など)は、未定義の動作を引き起こします。 サンプルのpython def collatzDist(n): if n == 1: return …

13
ポイントは何ですか?
デカルト平面上の点のXおよびY座標を表す2つの整数を取り込むプログラムまたは関数を記述します。 入力があれば、Xの値は、例えばY.前に来るように、任意の合理的なフォーマットで来るかもしれない、1 -2、(1,-2)、[1, -2]、または1\n-2すべての罰金であろうためのX = 1、Y = -2。 平面内のポイントの位置を説明する単一の文字列(オプションの末尾の改行が続く)を印刷または返します。 1ポイントが象限 Iにある場合 2 ポイントが象限IIにある場合 3 ポイントが象限IIIにある場合 4 ポイントが象限IVにある場合 Xポイントがx軸上にある場合(小文字xは使用できません) Yポイントがy軸上にある場合(小文字yは使用できません) O ポイントが原点(ゼロではなく大文字の「oh」)にある場合 バイト単位の最短コードが優先されます。Tiebreakerは、上位の回答に進みます。 テストケース (1,-2) -> 4 (30,56) -> 1 (-2,1) -> 2 (-89,-729) -> 3 (-89,0) -> X (0,400) -> Y (0,0) -> O (0,1) -> Y (0,-1) -> Y …

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 …

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ののそれらのような)のリストを可能にする,有効な区切りであると私は文字を先頭または末尾に気にしないよう、[そして]出力に。 これはコードゴルフであるため、最小バイト数が優先されます。 …

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 …

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 

14
丸められていない分数
分数を10進数に変換し、その数値を格納する場合、特定の量のメモリのみを使用するため、多くの場合、丸める必要があります。5桁の10進数しか保存できないとすると、5/3は1.6667になります。2桁の10進数しか保存できない場合は、1.7になります(常に0〜9.99の間にあると仮定します...)。 1.7でそのプロセスを逆にしようとして、端数を取り戻したい場合、1.7は丸められた数値にすぎないことがわかっているため、それは難しい場合があります。もちろん、17/10を試すこともできますが、それは「エレガントな」5/3と比べてかなり「ugい」部分です。 そのため、目標は、分母bが最小の分数a / bを見つけることです。これにより、正しく丸められたときに丸められた10進数が得られます。 詳細 入力には、0(含む)から10(含まない)の「。」の1から5桁までの数字の文字列が含まれます。最初の数字の後。n桁数を表すとしましょう。出力は[numerator, denominator]、分子が非負で分母が正である2つの整数のリスト/配列または合理的なデータ型(独自に作成するか、組み込みを使用できます)である必要があります。分数の分子/分母は、n数字(n-1小数点以下の数字を意味する)に正しく丸められる場合、入力と等しくなければなりません。 制限:許可されるループステートメントは1つだけです。つまり、コード全体で単一のループステートメント(foror whileまたはgotoetcなど、およびリスト/配列のすべての要素にコードを適用する、mapまたはfoldそのような機能ループ)のみを使用できますが、それを「乱用」することは自由ですまたは再帰などを使用します 関数を作成する必要があります。言語に関数がない場合(またはある場合でも)、入力が変数(またはstdin経由の入力)に格納されていると仮定して、結果を出力するか、ファイルに書き込むことができます。最も少ないバイト数が優先されます。 丸め 丸めは「従来の」丸め規則に従う必要があります。つまり、切り捨てられる最後の数字が5以上の場合、切り上げ、他の場合は切り捨てます。たとえば、 四捨五入すると4.5494になります 1桁:5 2桁:4.5 3桁:4.55 4桁:4.549 例 次のテストケースとその他の「興味深い」テストケースを含めてください。 Input 1.7 Output 5/3 Input 0. Output 0/1 Input 0.001 Output 1/667 Input 3.1416 Output 355/113

14
64バイト以下で可能な限り多くの小数点以下のKhinchinの定数
キンチンの定数は奇妙な数学的定数であり、Wolfram MathWoldによれば、「高精度に計算するのは非常に難しい」。 ここでは、100桁までです。 2.685452001065306445309714835481795693820382293994462953051152345557218859537152002801141174931847697 ... Khinchinの定数を正しい小数点以下の最大数まで出力するプログラムを64バイト以下で作成します。 Khinchinの定数に直接関連する組み込みのライブラリ定数または関数を使用することはできません。(たとえば、Math.Khinchin(precision)は絶対に許可されません。) あなたは可能計算対数、総和などに数学ライブラリを使用します あなたはかもしれあなたの答えの一部または全部をハードコーディング。 プログラムは有限の出力を生成し、比較的近代的なコンピューター(ここにリストされているコンピューターなど)で1時間以内に実行する必要があります。 stdoutに出力する必要があります。入力はありません。 http://mothereff.in/byte-counterが 64バイト以下を登録する限り、任意の文字を使用できます。 得点 スコアは、2.68から始まる、プログラムが正しく出力するKhinchinの定数の連続する桁数です。間違った桁を出力できますが、最後の正しい桁のみがスコアにカウントされます。 たとえば、次の出力 2.68545200 2 06530644530971483548179569382038229399446295305115234555721 9ポイントを獲得します。数字ごとに1つ。2 6 8 5 4 5 2 0 0ただし、2の後は1である必要があります。

7
リバースエンジニアポーリング統計
前書き 投票の選択肢の割合のセットが与えられたら、それらの統計を生成するために投票に含まれる必要がある有権者の最小数を計算します。 例:お気に入りのペットは何ですか? 犬: 44.4% ネコ: 44.4% マウス: 11.1% 出力:(9投票者の可能な最小数) スペック プログラム/機能の要件は次のとおりです。 入力としてパーセンテージ値の配列が与えられます(標準入力、関数の引数など)。 各パーセント値は、小数点以下1桁に丸められた数値です(たとえば、 44.4 44.4 11.1。 (stdoutまたは関数の戻り値で)小数点以下1桁に丸めた場合、その結果が正確なパーセンテージになる投票の投票者の最小数を計算します。 ボーナス:「自明ではない」方法で解決できる場合は-15文字(つまり、有効な最初の有権者が見つかるまで、可能な限りすべての有権者を反復処理する必要はありません) 例 >./pollreverse 44.4 44.4 11.1 9 >./pollreverse 26.7 53.3 20.0 15 >./pollreverse 48.4 13.7 21.6 6.5 9.8 153 >./pollreverse 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 99.6 2000 >./pollreverse …

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