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

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

1
正方形はいくつありますか?
この課題は、のように見えることが多いFacebook上でローミングする絵に触発され、この。ベーススクエアが次のようになることを除きます。 ┌─┬───┬─┐ ├─┼─┬─┼─┤ ├─┼─┴─┼─┤ ├─┼─┬─┼─┤ └─┴─┴─┴─┘ 正方形はn x m1x1の正方形で構成されているため、その正方形に収まるサブ正方形(1x1、2x2、3x3、4x4、5x5など)の数を数える必要があります。正方形には、いくつかのグリッド線が欠落している場合があります(上記の例のように)か、下の例のように完全になります。これは数学的な故障があることを意味しません(私の知る限り)可能。 入力: n正方形を構築するための入力の行数()。 :次の文字から作られた正方形の─ ┐ ┌ └ ┴ ┘ ┬ ├ ┤ ┼ |間でnの入力のライン。 出力: 入力正方形に収まる任意のサイズの正方形の量(ここでは、各サイズの数値ではなく、1つの数値のみが必要です)。 受賞基準: 最小の回答(バイト数)が優先されます。 テストケース: に: 5 ┌─┬─┬─┬─┐ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤ └─┴─┴─┴─┘ アウト: 30 に: 3 ┌─┬─┐ ├─┼─┤ └─┴─┘ アウト: 5 に: 5 ┌─┬─┐ ├─┴─┤ ├───┤ ├─┬─┤ └─┴─┘ …

3
Laverテーブルの計算とZFCで終了することが知られていないアルゴリズム
海苔テーブルは数学の標準公理システムに終了することが示されていないプログラムの例を提供ZFC 1は非常に巨大基数公理を前提としたときに終了しますけど。 前書き 古典的なLaverテーブルは、基になるセットと、アイデンティティーを満たし、どこで、どこで満たす操作を行うユニークな有限代数です。An{1,...,2n}*x * (y * z)=(x * y) * (x * z)x*1=x+1x<2n2n*1=1 古典的な海苔テーブルの詳細については、Patrick Dehornoyの書籍Braids and Self-Distributivityを参照してください。 チャレンジ 1*32従来のLaverテーブルで計算し、nwith が見つかったときに正確に終了する最短のコード(バイト単位)は何ですか?言い換えると、with が見つかった場合にのみプログラムは終了しますが、それ以外の場合は永久に実行されます。1*32<2nn1*32<2n 動機 ランクにランクカーディナル(また、I3-カーディナルと呼ばれる)は、非常に大きい無限のレベルと1つのランクにランクカーディナルの存在を前提とした場合、その後、一つ一つがない場合よりも多くの定理を証明することができますランクからランクへの枢機existenceの存在を想定します。ランクからランクへの枢機inalが存在する場合、古典的な海苔の表があります。ただし、ZFCでの既知の証拠はありません。さらに、最小の場所がより大きいことが知られています(アッカーマン関数は急速に成長する関数であるため、これは非常に大きな数です)。したがって、このようなプログラムは非常に長い時間続きます。An1*32<2n1*32<2nn1*32<2nAck(9,Ack(8,Ack(8,254)))Ack プログラムが標準の公理システムZFCを使用して終了するかどうかはわからないが、プログラムが最終的にはるかに強力な公理システム、つまりZFC + I3で終了することがわかるように、プログラムがどれくらい短く書けるかを見たいです。この質問は、スコットアーロンソンの最近の投稿に触発されたもので、アーロンソンとアダムイディディアが8000未満の状態でチューリングマシンを構築したため、ZFCはチューリングマシンが終了しないことを証明できませんが、大きな基数仮説を仮定しても終了しないことがわかっています。 古典的な海苔表の計算方法 海苔のテーブルを計算する場合には、代数であるという事実を使用することが通常便利である、我々が持っているすべてのためにあるの。An2n * x=xxAn 次のコードは、古典的な海苔表を計算します An #table(n、x、y)はA nに x * yを返します table:= function(n、x、y) x = 2 ^ nの場合、yを返します。 elif y = 1の場合、x + …

10
区別できないアイテムの順列
整数のリストを指定すると、整数の順列の数を出力し、区別できない順列を1回カウントします。ある場合はn整数であり、区別がつかない数字の各グループは、長さを持っているn_i、これはありますn! / (n_1! * n_2! * ...) ルール 入力は、1から12個の非負整数を持つ関数またはプログラムの引数としての何らかの形式のリストになります。 出力は、上記のように順列の数を印刷または返します。 標準的な抜け穴や組み込み関数(順列、組み合わせなどの生成)はありません。階乗が許可されます。 テストケース 入力: 1, 3000, 2, 2, 8 1, 1, 1 2, 4, 3, 2, 3, 4, 4, 4, 4, 4, 1, 1 出力: 60 1 83160

9
10進数表現の繰り返しを見つけてください!
で、この挑戦 2年前、我々が見つかりました。期間(単位分数のを1/n where n is a natural number)。 さて、あなたの仕事は単位分数の繰り返しを見つけるプログラム/関数を書くことです。 repetendは同様に、無限に繰り返される小数展開の一部です: の10進表現は1/6です0.16666...、それからrepetendは6です。 の10進表現は1/11です0.090909...、それからrepetendは09です。 の10進表現は1/28です0.0357142857142857142857...、それからrepetendは571428です。 スペック 妥当な形式で入力してください。 繰り返しを10進数、文字列、またはリストで出力します。 1/7(0.142857142857...)については、出力する必要があります142857代わりに428571。 1/13(0.076923076923076923...)、あなたは出力しなければならない076923代わりに、76923。 総当たりはしないでください。 テストケース Input Output 1 0 2 0 3 3 7 142857 13 076923 17 0588235294117647 28 571428 70 142857 98 102040816326530612244897959183673469387755 9899 000101020305081321345590463683200323264976260228305889483786241034447924032730578846348115971310233356904737852308313971108192746742095161127386604707546216789574704515607637135064147893726639054449944438832205273259925244974239822204263056874431760783917567431053641781998181634508536215779371653702394181230427315890493989291847661379937367410849580765733912516415799575714718658450348520052530558642287099707041115264168097787655318719062531568845337912920497019901 得点 これはコードゴルフですです。バイト単位の最短ソリューションが勝ちます。 目標は最短のソリューションを作成できる言語を見つけることではなく、各言語で最短のソリューションを見つけることであるため、答えは受け入れられません。 リーダーボード コードスニペットを表示 var QUESTION_ID=78850,OVERRIDE_USER=42854;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 …

23
多角形の数字
多角形の数は、kサイズの1角形のドットの数ですn。 とが与えられn、kあなたの仕事は、対応する番号を出力/印刷するプログラム/関数を書くことです。 得点 これはcode-golfです。バイト単位の最短ソリューションが勝ちです。 例 3RD六角数は(k=6, n=3)で28あるので、28上記のドットが。 テストケース このPythテストスイートから生成できます。 使用法:テストケースごとに2行、n上、k下。 n k output 10 3 55 10 5 145 100 3 5050 1000 24 10990000 さらに詳しい情報 ウィキペディア:https : //en.wikipedia.org/wiki/Polygonal_number Wolfram Mathworld:http : //mathworld.wolfram.com/PolygonalNumber.html OEIS Wiki:http : //oeis.org/wiki/Polygonal_numbers さまざまなnのn対角数のOEISシーケンス:3 (A000217)、4 (A000290)、5 (A000326)、6 (A000384)、7 (A000566)、8 (A000567)、9 (A001106)、10 (A001107)、11 (A051682)、12 (A051624)、13 (A051865)、14 (A051866)、15 …

4
線形方程式を解く
この課題は、より良い仕様です。 スペック プログラムは、単一の変数を含む線形方程式を取り、xの値を出力しますx。 入力/解析 入力には、数字、演算子、括弧(())、、xおよび=記号のみが含まれます(これは空白がないことを意味します)。 括弧は常にバランスが取れています。 常に少なくとも1つありxます。のx前に数字を付けることができます。 すべての方程式の結果は1つになります。 番号は、以下の手順で定義することができます。数値は、正規表現で定義できます-?(\d+(\.\d+)?|\.\d+)。 正規表現を話さない場合:数字は次のように定義されます 0-9 それがあるかもしれません -冒頭に負の意味 そして、そこにもいくつかの桁です。それらが数字でない場合、小数点があります 小数点が存在する場合、少なくとも1桁がそれに続きます 最大の数値/値は、言語の機能によって定義されます。 オペレータは、のいずれかであります:+-*/、彼らは常に数字、または括弧の間に表示されます これは(5)(5)、簡単にするために有効な入力ではないことを意味します。 カッコ内には、常に有効な式(数字や演算子の有効な組み合わせ)が含まれます。「バランスのとれた」括弧は、すべて(に関連する終了があるため定義されます) 評価 操作の順序に従う必要があり、優先順位は(最高から最低)です。 括弧(最も深くネストされた最初) 乗算と除算 加算と減算 同じ優先順位の2つの演算子が発生した場合は、左->右に進むことをお勧めします 出力 結果を何らかの方法で出力する必要があります。数値の結果だけを出力しない場合は、出力の出力方法を回答で明確にします。出力形式は一貫している必要があります。出力は小数でもかまいませんが、常に合理的であり、精度は言語の精度に制限されます。ご使用の言語が浮動小数点演算をサポートしていない場合にのみ、サポートする必要はありません。 ルール このタスクを単純化するビルトインは許可されますが、明確に追加する必要があります[uses built-in]その答えのヘッダに明確に。これはあなたの答えが勝つことを免除します 「このタスクを単純化する組み込み」は、次のいずれかです。 方程式を取り込み、a /変数の値を出力するもの 方程式を完全に単純化するもの evalまたは関連する関数を使用して、かなりの量の解析を行います。eval線形方程式を解くために(入力の変更を最小限に)使用する場合、および関連する関数の使用は許可されません。 疑問がある場合は、コメントを求めてください。 方程式を解析するビルトインが許可されています 例 3+4=x 7 4+x=5 1 3+3*3=x 12 3x-4=7+2x 11 3--1=x 4 3*(2+4x)=7x-4 -2 …

7
ハイパーキューブの端に
あなたの仕事はn>0、入力または入力として整数を受け取り、- n次元ハイパーキューブのエッジのリストを出力する関数またはプログラムを作成することです。グラフ理論では、エッジは接続された2組の頂点(または必要に応じてコーナー)として定義されます。 例1 1次元の超立方体はラインであり、我々は呼ぶ2つの頂点、特徴aとしますb。 したがって、出力は次のようになります。 [[a, b]] 例2 4次元のハイパーキューブ(またはtesseract)は32のエッジで構成され、そのグラフは次のようになります 出力は次のようになります [[a, b], [a, c], [a, e], [a, i], [b, d], [b, f], [b, j], [c, d], [c, g], [c, k], [d, h], [d, l], [e, f], [e, g], [e, m], [f, h], [f, n], [g, h], [g, o], [h, p], …

1
この単語にはいくつの文字がありますか?
Project Euler#17に触発され、これがあなたの挑戦です。入力として数値を受け取る完全なプログラムまたは関数を作成し、その数値までカウントするのに必要な文字数(1から始まる)を印刷または返します。スペース、コンマ、ハイフンは含めませんが、単語を含める必要がありますand。例えば。342のスペルは次のとおりThree Hundred and Forty-Twoです。これは23文字の長さです。 入力は正の整数になります。無効な入力を処理する必要はありません。数値を英語に変換する組み込みまたはライブラリは許可されていません。 数字のつづり方に関するすべてのルールを次に示します。(注:一部の人々は、数字のつづり方に異なる規則のセットを使用していることを認識しています。これは、このチャレンジの目的のための公式規則にすぎません) 1から20 1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20 21から99 これらに参加してください: 20、30、40、50、60、70、80、90 これらに: -one、-two、-three、-four、-five、-six、-seven、-eight、-nine、 4にはuが40あることに注意してくださいしません! 例: 53: Fifty-three 60: sixty 72: seventy-two 99: ninety-nine 100から999 数百(百、二百、三百など)、「および」、および上記の残りの数字を書きます。とあなたの手紙のスコアにカウントされます。 例: 101: One hundred and one 116: One hundred and sixteen 144: One hundred and forty-four 212: Two hundred and twelve 621: Six Hundred …
12 code-golf  math  number 

4
担当者の再計算にご協力ください!
数か月前に、質問に対する賛成票で与えられる評判を高めることについて、メタについて議論しました。投票の現在の評判システムの基本は次のとおりです。1 質問に賛成票を投じるU価値は5つあります。 回答の賛成票uは10名の価値があります。 質問または回答のダウン票dは、-2評判に値します。 新しいシステムにはさまざまな提案がありましたが、現在最も人気のあるものは上記と同じですが、質問の賛成票が+10 repにスケーリングされています。この課題は、このシステムが導入された場合にどれだけ多くの担当者を獲得できるかを計算することです。 例を見てみましょう。投票アクティビティがの場合、UUUUuuuuUUUUUduuudUU現在のシステムでは121を獲得します。 U x 4 x 5 = 20 = 20 u x 4 x 10 = 40 = 60 U x 5 x 5 = 25 = 85 d x 1 x -2 = -2 = 83 u x 3 x 10 = 30 …

5
効率的な科学表記法
先日、化学の先生が科学表記法について説明していました(小さい数字を使用し、10の累乗を掛けて大きい数字をより簡単に表現できるようにしました)。基本を学んだ後、いくつかの典型的な数学の質問をしました。そのうちのいくつかは次のようなものでした: 科学表記法で次を表します: a)50000000 b)120000000000000 c)90000000000000000000000000000000000000 d)pi ^ e ^ i ^ j ^ k ^ std :: vector ... z)200 ... そして、「何?科学的な表記法を使用して、大量の文章をより効率的に作成できると言われましたが、まったく効率的でない場合もあります!」 数を考える 300 および科学表記法での表現: 3x10^2 科学的に表記されたバージョンは実際にはより多くのスペースを占有しますか?今はできませんか?(画面スペースは貴重です。) 科学表記法で数字を書く方がよりスペース効率が良いかどうかを判断できます。または... 仕事 プログラムまたは関数は、入力としてn、任意のサイズの単一の正の数(言語がサポートするものまで)を受け取り、その数の科学的に表記されたバージョンを出力する必要があります。 ただし、n末尾のゼロと小数点以下の桁を削除した後、元の数値が表示される文字数が科学的に表記されたバージョンより少ないか同じ場合、n代わりにその元の数値を出力する必要があります。 出力もできるだけ短くする必要があるため、コードはできるだけ短くする必要があります。 仕様書 効率的な科学表記法は次のように定義されています。 bx10^e bは、適切に10の累乗で除算された入力数です1 <= b < 10。この数値では、すべての末尾のゼロ(および必要に応じて小数点)を削除する必要がありますが、元の数値の精度(もちろん、言語の小数点の制限まで)が必要です。すなわち90000なり9、13.500なり1.35、0.000675なると6.75、あなたの言語が処理できる以上の小数点以下を含むアップこの数が終了した場合などは、小数点以下の桁数の最大数に四捨五入されなければなりません。 eは、10が累乗される指数ですn = b x 10^e(n1より小さい場合、この数値は負である必要があることに注意してください)。この数値には、末尾のゼロや小数点以下の桁があってはなりません(主に整数でない場合、何かが間違っているためです...)。 文字がx10^ なければなりませんの間の文字列であるとして残るbとe。 テストケース Input -> …
12 code-golf  string  math 

2
登録計算機チャレンジ
簡単なレジスタ計算機 この課題には、次のように機能する単純なレジスタ計算機が含まれます。 には、という名前のレジスタがいくつかありA,B,C,...,Z、それぞれに整数を含めることができ、それらはすべてに初期化され0ます。 3文字の命令を実行します:命令の最初の文字は+,-,*,/,=(加算、減算、複数、除算、コピー)の1つであり、2番目の文字はレジスタの名前であり、3番目の文字はレジスタまたは1つの名前ですの0,1。指示の意味は非常に明確である必要があります。ここではいくつかの例を示します。 +ABは、「レジスタの値をA結果に設定する」ことを意味し、A + Bについても同様です-AB,*AB,/AB。分割A / BはCのように行われます。 +A1は「のレジスタAをインクリメントする」ことを意味し1、同様に-A1デクリメントAし1ます。 =AB手段「は、の値をコピーBレジスタにA同様=A0、=A1セットAに0、1それぞれ。 連続した命令の文字列を入力として受け取り、最後の操作の結果を返します。いくつかの例を示します。 =A1+A1*AA返されると仮定します4。 +A1+A1=BA+A1*AB返されると仮定します6。 +A1+A1+A1*AA=BA-B1*AB返されると仮定します72。 好みのプログラミング言語でこのような電卓を書くのは簡単です。ここではPythonの例を示します。 def compute(cmd): opr = {"=": lambda x, y: y, "+": lambda x, y: x + y, "-": lambda x, y: x - y, "*": lambda x, y: x * y, "/": lambda x, y: …

3
マンハッタンの数学
次の演算子を定義します。 マンハッタンの加算 a + M b(1桁の数字の場合)は、bをaに連結した結果です。したがって、a + M b = 10a + bです。したがって、一般演算子+ Mは次のように定義されます。 a + M b = 10a + b マンハッタン減算 a – M b(1桁の数字の場合)は、aから最後のbを削除した結果です。したがって、演算子– Mは、擬似コードで次のように定義されます。 a – M b = a最後のbを削除 マンハッタン乗算 a× M bは、aのbのすべてのインスタンスをbのbインスタンスに置き換えた結果です。エルゴ、× Mは擬似コードで次のように定義されます。 a× M b = a-> s / b / <b bのコピー> …

1
有効な迷路の数
与えられたWxHグリッドを、どのように多くの可能な迷路がありますか? 迷路について知っていること: グリッドのH高さは正確に正方形で、W幅は正方形です。 開始、終了、空の3つのタイプの正方形があります。迷路には、開始と終了がそれぞれ1つだけ含まれている必要があり、残りのすべての正方形は空です。 迷路全体を囲む壁があります。 以下の規則に違反しない限り、壁は任意の2つの正方形の間のエッジに存在できます。 開始広場から終了広場までのパスが存在する必要があります。 したがって、との2つの数値を指定するWとH、可能な正方形/壁構成の数を表す単一の数値を返す必要があります。あなたは保証されていますW*H > 1 たとえば、2x2迷路の100構成はまったく異なります。 これはコードゴルフなので、最短の答えが勝ちです!

3
ハンケラブル行列の数を数える
バックグラウンド バイナリハンケル行列は、0sと1s のみを含む一定のスキュー対角(正の傾斜対角)を持つ行列です。たとえば、5x5バイナリハンケル行列は次のようになります a b c d e b c d e f c d e f g d e f g h e f g h i はまたa, b, c, d, e, f, g, h, iはのいずれ0か1です。 レッツは、行列の定義MとしてHankelableを行と列の順序の順列がある場合はMだからMは、ハンケル行列です。これは、1つの順列を行の順序に適用し、場合によっては異なる順列を列に適用できることを意味します。 チャレンジ 課題は、すべての可能な限り最大の値に対して、行列によるハンケラブルの 数を数えることです。nnn 出力 1以上の各整数nに対して、またはであるエントリを持つ行列によるハンケラブル の数を出力します。nn01 以下のためにn = 1,2,3,4,5答えなければなりません2,12,230,12076,1446672。(これらを生成するコードのorlpに感謝します。) 制限時間 私のマシンでコードを実行し、1分後に停止します。nの最大値まで正解を出力するコードが勝ちます。制限時間は、回答n = …

3
円周率の切り捨てられた数字の計算
正の整数nを出力すると、最初のnの合計の小数部の桁π N。 入力と出力の例: 1→1 2→14 3→6 4→13 5→24 50→211 →211500 →2305 5000→22852 πの数字を計算する組み込み関数たり、べき級数や連続分数を評価したりするは許可されていません。標準の抜け穴が適用されます。入力/出力は便利な形式(stdin、stdout、関数in / outputなど)にすることができます。 バイト単位の最短コードが優先されます。

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