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

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

18
ナンバートライアングルフリップ
正の整数を三角形にリストし、左から右に反転するとします。番号を指定して、送信先の番号を出力します。これは自己逆マッピングです。 1 1 2 3 3 2 4 5 6 <---> 6 5 4 7 8 9 10 10 9 8 7 11 12 13 14 15 15 14 13 12 11 これはA038722のn番目の要素で、インデックスが1つあります: 1, 3, 2, 6, 5, 4, 10, 9, 8, 7, 15, 14, 13, 12, 11, ... このシーケンスは、長さが増加する正の整数の連続したチャンクを逆にします。 …

30
ASCIIの三角形
あなたの仕事は、ASCII三角形を印刷するプログラムまたは関数を書くことです。次のようになります。 |\ | \ | \ ---- プログラムはn、制約付きの単一の数値入力を受け取ります0 <= n <= 1000。上記の三角形の値はでしたn=3。 ASCIIの三角形にはnバックスラッシュ(\)と垂直バー(|)、n+1行とダッシュ(-)があり、各行には最終的な行のほかに行番号(0から始まる、つまり最初の行は行0)と等しいスペースがあります。 。 例: 入力: 4 出力: |\ | \ | \ | \ ----- 入力: 0 出力: このテストケースでは、出力は空でなければなりません。空白なし。 入力: 1 出力: |\ -- 入力と出力は、私が指定したとおりでなければなりません。 これはcode-golfなので、できるだけ短いコードを目指してください!
30 code-golf  ascii-art  code-golf  rubiks-cube  code-golf  path-finding  maze  regular-expression  code-golf  math  rational-numbers  code-golf  kolmogorov-complexity  graphical-output  code-golf  tips  code-golf  string  permutations  code-golf  sorting  base-conversion  binary  code-golf  tips  basic  code-golf  number  number-theory  fibonacci  code-golf  date  code-golf  restricted-source  quine  file-system  code-golf  code-golf  math  code-golf  ascii-art  code-golf  math  primes  code-golf  code-golf  math  matrix  code-golf  string  math  logic  factorial  code-golf  palindrome  code-golf  quine  stateful  code-golf  interactive  code-golf  board-game  code-golf  math  arithmetic  code-golf  string  code-golf  math  matrix  code-golf  math  abstract-algebra  polynomials  code-golf  date  code-golf  string  array-manipulation  sorting  code-golf  game  code-golf  string  code-golf  ascii-art  decision-problem  code-golf  number  sequence  code-golf  code-golf  code-golf  sequence  fibonacci  code-golf  math  geometry  random  code-golf  code-golf  math  decision-problem  fractal  rational-numbers  code-golf  number  number-theory  code-golf  combinatorics  permutations  card-games  code-golf  math  sequence  array-manipulation  fibonacci  code-golf  sequence  decision-problem  graph-theory  code-golf  ascii-art  parsing  lisp  code-golf  string  math  natural-language  logic  code-golf  math  logic  code-golf  string  alphabet  code-golf  string  code-golf  string 

26
デジタル合計フィボナッチ
私たちは皆、フィボナッチ数列に精通しています: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765 ただし、代わりに、前の2つのエントリのデジタル合計をf(n) = f(n-1) + f(n-2)取得します。 シーケンスは引き続きで始まる必要があり0, 1、その後、違いはすぐに明らかになります。このリストには0のインデックスが付いていますが、1のインデックスも使用できます。 f(0) = 0 f(1) = 1 f(2) = 1 # 0 + 1 f(3) = 2 # 1 + 1 f(4) …

8
壊れやすいクイン
壊れやすいクイン 壊れやすいクインとは、評価時に単一文字を削除して各サブストリングを作成するというプロパティを満たすクインであり、エラーが発生します。 例えば。プログラムasdfがキネである場合、それが壊れやすいためには、次のプログラムでエラーが発生する必要があります。 sdf adf asf asd プログラム(およびそのすべての部分文字列)は完全に決定的であり、同じ言語である必要があります。無限ループに陥る(つまり、終了に失敗する)プログラムは、最終的にエラーを生成しなくても、このチャレンジの目的で「エラーを生成する」と見なされます。 通常のクイン制限を含む標準的な抜け穴が適用されます(たとえば、独自のソースコードを読み取れない)。 たとえば、print("foo")脆弱ではありません。これらのサブストリングはすべてエラーにする必要があります。 rint("foo") pint("foo") prnt("foo") prit("foo") prin("foo") print"foo") print(foo") print("oo") print("fo") print("fo") print("foo) print("foo" エラーにならないものは次のとおりです。 print("oo") print("fo") print("fo") だから壊れにくいわけではありません。 クインに関する重要な注意事項 コンセンサスによって、可能なすべての馬はこれを満たさなければなりません: プログラムの別の部分をエンコードするプログラムのセクションを識別することが可能でなければなりません。(「異なる」とは、2つの部分が異なる位置に表示されることを意味します。) さらに、クインは直接または間接的に自身のソースにアクセスしてはなりません。 例 JavaScriptのfunction#toStringは「独自のソースコードを読み取る」と考えているため、許可していません。ただし、私がそれを禁止しなかった場合、JavaScriptの壊れやすいクインを次に示します。 f=(n=b=`f=${f}`)=>(a=(n)==`f=${f}`,n=0,a)&(n!=b)?b:q テスター プログラムのソースコードを指定すると、エラーが発生する必要があるすべてのプログラムを生成するプログラムを次に示します。 let f = (s) => [...Array(s.length).keys()].map(i => s.slice(0, i) + s.slice(i + 1)).join("\n"); let …
30 code-golf  quine  code-golf  date  code-golf  sequence  code-golf  sorting  file-system  code-golf  code-golf  ascii-art  hexagonal-grid  code-golf  string  arithmetic  code-golf  code-golf  code-challenge  source-layout  code-golf  ascii-art  cellular-automata  code-golf  string  arithmetic  balanced-string  code-golf  number  primes  code-golf  ascii-art  hexagonal-grid  code-golf  string  code-golf  string  code-golf  sequence  code-golf  ascii-art  code-golf  conversion  hexadecimal  code-challenge  restricted-source  code-golf  math  grid  code-golf  string  ascii-art  code-golf  random  minesweeper  code-golf  ascii-art  kolmogorov-complexity  board-game  scrabble  code-golf  ascii-art  code-golf  math  number-theory  decision-problem  code-golf  string  code-golf  natural-language  code-golf  internet  stack-exchange-api  code-golf  code-golf  conversion  code-golf  string  code-golf  math  arithmetic  code-golf  string  whitespace  code-golf  graphical-output  internet  code-golf  string  code-golf  string  random  permutations  code-golf  string  code-golf  string 

22
Stern-Brocotシーケンスに従ってn番目の有理数を出力します
スターン- Brocot配列は Fibonnaci様配列次のように構成することが可能です。 シーケンスを初期化する s(1) = s(2) = 1 カウンターを設定 n = 1 s(n) + s(n+1)シーケンスに追加する s(n+1)シーケンスに追加する インクリメントn、ステップ3に戻る これは次と同等です: 他のプロパティの中でも、Stern-Brocotシーケンスを使用して、可能なすべての正の有理数を生成できます。すべての有理数は一度だけ生成され、常に最も単純な用語で表示されます。たとえば、1/3シーケンスの第四有理数、同等の数字である2/6、3/9などがまったく表示されません。 上記のように、n番目の有理数をとして定義できますr(n) = s(n) / s(n+1)。ここでs(n)は、n番目のStern-Brocot数です。 あなたの課題は、Stern-Brocotシーケンスを使用して生成されたn番目の有理数を出力するプログラムまたは関数を作成することです。 上記のアルゴリズムは1から始まります。エントリのインデックスが0の場合は、回答に記載してください 説明されているアルゴリズムは説明のみを目的としており、出力は任意の方法で導出できます(ハードコーディング以外) 入力は、STDIN、関数パラメーター、またはその他の妥当な入力メカニズムを介して行うことができます Ouptutは、STDOUT、コンソール、関数の戻り値、またはその他の妥当な出力ストリームになります。 出力はの形式の文字列である必要がありますa/b。ここでaおよびbは、Stern-Brocotシーケンスの関連エントリです。出力前に端数を評価することはできません。たとえば、入力の12場合、出力はで2/5はなくである必要があり0.4ます。 標準の抜け穴は許可されていません これはcode-golfなので、バイト単位の最短回答が勝ちます。 テストケース ここでのテストケースは1から始まります。 n r(n) -- ------ 1 1/1 2 1/2 3 2/1 4 1/3 5 3/2 6 …

12
それは素晴らしかった…ほとんど
数学のクラスで素数について学んだことがあるなら、おそらく、ある時点で、数が素数かどうかを判断しなければならなかったでしょう。まだ39をプライムと間違えているなど、まだ学習している最中に混乱している可能性があります。39は半素数、つまり、2つの素数の積であるため、心配する必要はありません。 同様に、我々は定義することができ、Kの生成物であるとしてプライム-almost K素数。たとえば、40は4番目のほぼ4つの素数です。40 = 5 * 2 * 2 * 2、4つの因子の積。 あなたの仕事は、2つの整数nとkを入力として受け入れ、n番目のk-ほぼ素数を返す/返すプログラム/関数を書くことです。これはコードゴルフであるため、バイト単位の最短プログラムが優先されます。 テストケース n, k => output n, 1 => the nth prime number 1, 1 => 2 3, 1 => 5 1, 2 => 4 3, 2 => 9 5, 3 => 27 雑多 そのような閉じた形式が存在する場合、単純な閉じた形式以外の方法で自分で素数を生成する必要があります。

30
平均ビット:平均的な課題
整数N> = 1の場合、0からN-1の整数の平均ビット数を出力します 仕様 出力は、0からN-1までの各整数のバイナリ表現のビット数の合計をNで割って計算できます。 整数のバイナリ表現には、このコンテキストでは先行ゼロがありません。ただし、ゼロはバイナリで0として表されます。 出力は、少なくとも7つの有効数字まで正確でなければなりません。 例 N = 6 0: 0 : 1 bit 1: 1 : 1 bit 2: 10 : 2 bits 3: 11 : 2 bits 4: 100 : 3 bits 5: 101 : 3 bits 平均ビット数=(1 + 1 + 2 + 2 + 3 …

3
助けて!電卓が壊れた!(整数式を電卓のキーストロークに変換します)
前書き 助けて!誤ってTI-84計算機を窓から落とし(方法は聞かないでください)、壊れました。明日は数学のテストがありますが、見つけることができるのはこれらのボタンを備えた計算機だけです。 7 8 9 + 4 5 6 - 1 2 3 * 0 = / 私の数学のテストは、式の評価に関するレビューテストです。などの式を取得1+(5*4)/7し、予備の計算機でそれを解決するために必要なキーストロークに変換するプログラムが必要です。(そして、あなたが疑問に思っている場合、これは実際に私に起こりました)。 チャレンジ 含有する非空の入力文字列が与えられた唯一の文字0-9、(、)、+、-、*、および/、出力スペースで区切られた文字列内のキーストローク(例えば。1 + 3 / 3 =)。出力の最後には常に等号が必要です。標準の抜け穴は許可されていません。 例: 入力:1+(5*4)/7、出力:5 * 4 / 7 + 1 = 入力:6*(2/3)、出力:2 / 3 * 6 = 入力:(7-3)/2、出力:7 - 3 / 2 = この課題を簡単にするには: 入力には、計算機をクリアする必要のない一連のキーストロークが入力されていると想定1-(7*3)できます(計算する必要があるため無効です。7 * 3実行するには計算機をクリアします1 …

11
印刷、増分、減分、エイリアス-Prindealの解釈
Prindeal(顕著PRIN-ディー-ALは)新しいある難解:4つのつのみコマンド有するプログラミング言語PR INTを、で crement、デ crement、そしてら IAS。4つのコマンドを巧みに組み合わせることにより、Prindealで複雑な数学演算を最小限に抑えることができます。 このゴルフのチャレンジの課題は、Prindealコードを実行できる最短のプログラムを作成することです。 仕様は長いですが、できる限り明確にしようとしました。Prindealを学習するための努力をすれば、非常にエレガントであることがわかります。 Prindealの解釈 前処理 Prindealプログラムを解釈する前に、これらのことを次の順序で削除する必要があります。 #記号の後にある行の最後までのすべてと、#それ自体。(これらはコメントです。) 任意の行の末尾の空白。 完全に空の行。 たとえば、Prindealプログラム p cat #The next line has 7 trailing spaces. p dog #p mouse 前処理されます p cat p dog ここからは、この前処理ステップが完了したと仮定します。 変数 変数の使用方法を示す前に、変数をすばやく定義する必要があります。 変数(および変数への参照)は、Prindealコマンドの引数に渡されるものです。変数は常にグローバルであるため、変数の変更は、それらがどこで発生しても、どこにでも反映されます。 各変数は、負でない任意精度の整数(0、1、2、3、...)を保持します。変数は事前に初期化する必要はありません-変数は、最初に使用または呼び出されるときに常に値0で始まります。 変数名は、数字[a-zA-Z_][0-9a-zA-Z_]*と正規表現で始まらない、英数字とアンダースコアの空でない文字列です。これらは大文字と小文字が区別されるためspiny_lumpsuck3r、Spiny_lumpsuck3r異なる変数です。 実行 Prindealは命令型プログラミング言語です。Prindealプログラムが実行されると、ステートメントが上から下の順に実行され、プログラムが終了します。 Prindealプログラムのインデントされていない行はすべて、引数を取る場合と受け取らない場合がある単一のコマンドの実行を伴うステートメントです。 インデントされた行は、エイリアスコマンドの後にのみ発生します。具体的には、すべてのエイリアスコマンドの後に、単一のスペースでインデントされた正確に3行が発生し 、その一部と見なされます。したがって、別名ステートメントは実際には4行の長さです。(1行にすることもできますが、4行は読みやすいだけです。) 非エイリアスステートメント aliasを除き、Prindealプログラムのすべてのステートメントの形式は次のとおりです。 [command name] [argument 1] [argument …

9
階乗の逆数を計算する
入力として1より大きい実数を取り、その正の逆階乗を出力する最短コードを記述します。つまり、「この数に等しい階乗の数」という質問に答えます。ここで説明するように、ガンマ関数を使用して、階乗の定義を任意の実数に拡張します。 例えば: input=6 output=3 input=10 output=3.390077654 理由3! = 6と3.390077654! = 10 ルール 組み込みの階乗関数またはガンマ関数、またはこれらの関数に依存する関数の使用は禁止されています。 プログラムは、任意の精度で計算できる理論上の能力を使用して、5桁の10進数で計算できる必要があります(任意の精度を得るために、任意の大小にできる数値を含む必要があります) 任意の言語が許可され、文字の最短コードが優先されます。 ここで実例を作成しました。ご覧ください。

18
カスタム数値ベースコンバーター
自分の好きな形式を使用して、自分の持っている数字を自分の数字ベースにすばやく変換できるようにしたい力。 入力 プログラムは3つのパラメーターを受け入れる必要があります。 番号:変換される文字列番号 InputFormat:数値が現在含まれている基本文字列 OutputFormat:数値が変換されるベース文字列。 出力 プログラムはNumber、古い数値ベースInputFormatから新しい数値ベースに変換する必要がありますOutputFormat 例 ("1","0123456789","9876543210") = "8" ("985724","9876543210","0123456789ABCDEF") = "37C3" ("FF","0123456789ABCDEF","0123456789") = "255" ("FF","0123456789ABCDEF","01234567") = "377" ("18457184548971248772157", "0123456789","Aa0Bb1Cc2Dd3Ee4Ff5Gg6Hh7Ii8Jj9Kk,Ll.Mm[Nn]Oo@Pp#Qq}Rr{Ss-Tt+Uu=Vv_Ww!Xx%Yy*Zz") = ",sekYFg_fdXb" 追加 新しいベース77テストは、機能する場合は小道具を必要としません 最初に数値に変換する必要があり、32ビット内でロックされている言語の場合は、スキップできます。 追加のテストなので。 すべての例は、次のコード(vars mins、ただしコードはフォーマット済み)を使用して、bcmath拡張を使用してPHP 7.2によって生成されました。おそらくもっと短い方法がありますが、これは私がこれを行う必要があるシステムのために思いついた方法であり、誰かが短いバージョンを思い付くことができるかどうかを確認するのは良いことです。 PHP 7.2(bcmath-拡張)614バイト <?php function f($a, $b, $c) { $d= str_split($b,1); $e= str_split($c,1); $f= str_split($a,1); $g=strlen($b); $h=strlen($c); $k=strlen($a); $r=''; …

22
この値は、一意のコインやメモで作成できますか?
整数として入力された金銭的価値が、コインや紙幣の一意の組み合わせで表現できるかどうかを計算するプログラムを作成します。これは、同じコイン/紙幣を複数回使用できないことを意味します。 プログラムは入力として値を取る必要があり、入力または言語の配列に相当するものを介してコイン/紙幣の値のリストを取ることができます。硬貨/紙幣のリストは変更できるはずですので、定数を使用している場合は、これがどこで定義されているかを明確にしてください。 プログラムは、真偽値を出力する必要があります。 値を構成する硬貨/紙幣のリストを出力する必要はないことに注意してください。 例 英国ポンドを使用(£1.00 = 100および£420.69 = 42069) coins = [1, 2, 5, 10, 20, 50, 100, 200, 500, 1000, 2000, 5000] 以下はtrueを出力します: 6 (1, 5) 15 (10, 5) 88 (1, 2, 5, 10, 20, 50) 512 (500, 10, 2) 7003 (5000, 2000, 2, 1) 以下はfalseを出力します: 4 209 …
29 code-golf  math 

30
二乗シーケンス
二乗シーケンスx nの各項は、x n-1を取り、それを二乗し、最初の4桁を除くすべてを削除することによって作成されます。 シーケンスは常にx 1 = 1111で始まります。これを二乗すると1234321が得られるので、x 2 = 1234 最初のいくつかの用語は次のとおりです。 1111 1234 1522 2316 5363 ... チャレンジ あなたの仕事は、非負の整数nを与えられて、x nを計算することです。I / Oを実行する完全なプログラム、またはnをパラメーターとして受け取る関数を送信できます。 ソリューションは、指定する限り、0個または1個のインデックスを作成できます。 このシーケンスのすべての用語は5桁より短いため、コードもできるだけ短くする必要があります。標準的なコードとゴルフの抜け穴が適用されます。 最高のゴルファーが勝つように! テストケース 注:これらは1インデックスです。 1 -> 1111 8 -> 6840 15 -> 7584 20 -> 1425 80 -> 4717

16
平方根を単純化する
正の整数nを指定すると、すべての平方因子を抽出√nすることa√bにより平方根を形式に単純化します。出力されたa,bとの正の整数でなければなりませんn = a^2 * bでbできる限り小さく。 あなたは、出力してもよいaし、b任意の合理的な形式のいずれかの順序で。の出力を1暗黙的に省略できません。 n=1..36as の出力(a,b): 1 (1, 1) 2 (1, 2) 3 (1, 3) 4 (2, 1) 5 (1, 5) 6 (1, 6) 7 (1, 7) 8 (2, 2) 9 (3, 1) 10 (1, 10) 11 (1, 11) 12 (2, 3) 13 (1, 13) 14 (1, 14) …

2
楕円曲線の追加
楕円曲線の追加 免責事項:これは、楕円曲線の豊富なトピックに関する正義を行いません。かなり簡素化されています。楕円曲線は最近、暗号化のコンテキストで多くのメディアの注目を集めたため、楕円曲線の「計算」が実際にどのように機能するかについて、いくつかの小さな洞察を提供したかったのです。 前書き 楕円曲線は(x,y)、フォームの平面内の点の集合ですy^2 = x^3+Ax+B。(さらに、4A^3+27B^2 ≠ 0厄介な特異点を避けるために。)これらの曲線はどのフィールドでも考慮することができます。実数のフィールドを使用すると、曲線を視覚化でき、次のようになります。 ソース これらの曲線の特別な点は、加算に類似した算術演算が組み込まれていることです。ポイントを追加および削除することができ、この操作は結合的および可換的(アーベル群)です。 追加はどのように機能しますか? 注:楕円曲線上の点の追加は直感的ではありません。この種類の追加は、特定の優れたプロパティがあるため、そのまま定義されています。奇妙ですが、動作します。 楕円曲線はグループを形成するため、0に相当する付加的な同一性があり0ます。つまり、任意のポイントに追加しても結果は変わりません。この付加的なアイデンティティは、無限の「ポイント」です。平面上のすべての線にはこの点が無限遠に含まれるため、追加しても違いはありません。 与えられた線が3点で曲線と交差すると仮定します0。これはである可能性があり、これら3点の合計は0です。それを念頭に置いて、この画像を見てください。 ソース さて、自然な質問は、何P+Qですか?まあ、if P+Q+R = 0、then P+Q = -R(またはとして書かれていますR')。どこ-Rですか?ここでR + (-R) = 0、はからX軸の反対側にあるRため、それらを通る線は、、、およびのみRと交差-Rし0ます。この画像の最初の部分でこれを見ることができます: ソース これらの画像で確認できるもう1つの点は、ポイントとそれ自体の合計が、線が曲線に接していることを意味していることです。 直線と楕円曲線の交点を見つける方法 2つの異なるポイントの場合 一般に2点を通る正確に1本の線がありP=(x0,y0), Q=(x1,y1)ます。それが垂直ではなく、2つのポイントが明確であると仮定すると、と書くことができますy = m*x+q。楕円曲線との交点を見つけたいとき、次のように書くことができます。 0 = x^3+Ax+B-y^2 = x^3+Ax+B-(m*x+q)^2 これは3次多項式です。これらは一般的に解くのはそれほど簡単ではありませんが、この多項式の2つのゼロを既に知っています。追加したい2点の2つのx座標x0, x1! このように我々の線形因子アウト因子(x-x0)と(x-x1)、そのルートである第三の線形因子が残されているx点の-座標R。(-R。あまりにも対称性のためであればその注意してくださいR = (x2,y2)、その後を-R = (x2,-y2)。-グループからであり、それはベクトルマイナスではありません。) P自身に1つのポイントを追加する場合 この場合、で曲線の正接を計算する必要がありますP=(x0,y0)。私たちは、直接書き込むことができますmとqの観点A,B,x0,y0: 3*x0^2 + …

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