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

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

28
プロス番号ですか?
フランソワプロスにちなんで名付けられたプロス番号は、次のように表現できる番号です。 N = k * 2^n + 1 where kは奇数の正の整数で、nはのような正の整数です2^n > k。より具体的な例を使用してみましょう。テイク3. 3はProth番号です。 (1 * 2^1) + 1 そして2^1 > 1満足しています。5はProth番号でもあります。 (1 * 2^2) + 1 そして2^2 > 1満足しています。ただし、7はProth番号ではありません。フォームに書き込む唯一の方法N = k * 2^n + 1は (3 * 2^1) + 1 そして2^1 > 3満足していません。 あなたの挑戦は非常に単純です:あなたは、正の整数を与えられて、それがプロス数であるかどうかを決定するプログラムまたは関数を書かなければなりません。入力は合理的な形式で行うことができ、Proth番号の場合は真実の値を出力し、そうでない場合は偽の値を出力する必要があります。言語に「Proth-number detection」機能がある場合は、それらを使用できます。 テストIO 1000までの最初の46個のProth番号を以下に示します。(A080075) 3, 5, 9, …

22
基本的なASCIIタリー
代替タイトル:壁にあなたの刑務所の文を集計します numberを指定するとn、出力はグループごとに従来の5に、行ごとに50にグループ化されます。 例 1 | | | | 4 |||| |||| |||| |||| 5 |||/ ||/| |/|| /||| 6 |||/ | ||/| | |/|| | /||| | 50 |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| |/|| |/|| …
36 code-golf  ascii-art  number  code-golf  number  integer  binary  base-conversion  code-golf  array-manipulation  code-golf  chemistry  code-golf  number  sequence  fibonacci  code-golf  matrix  optimization  code-golf  number  code-golf  math  number  sequence  code-golf  math  array-manipulation  matrix  linear-algebra  code-golf  kolmogorov-complexity  cops-and-robbers  cops-and-robbers  code-golf  tips  basic  code-golf  decision-problem  binary  tiling  game  king-of-the-hill  python  code-golf  c  code-golf  ascii-art  code-golf  string  kolmogorov-complexity  alphabet  code-golf  number  code-golf  string  code-golf  number  sequence  integer  code-golf  number  permutations  restricted-complexity  restricted-time 

30
カラスとタクシー
現在位置から水平方向にAマイル、垂直方向にBマイル離れた地点に移動することを想像してください。または言い換えると、から(0, 0)に移動します(a, b)。あなたはどこまで旅行する必要がありますか?これは簡単な質問のように思えますが、答えはあなたが尋ねる人によって異なります。あなたがカラスであり、カラスが飛ぶように移動できる場合、移動距離はユークリッド距離になり(a, b)ます。これは sqrt(a^2 + b^2) しかし、あなたが退屈な人間なら、それほど遠くまで歩きたくないので、タクシーに乗る必要があります。ほとんどのタクシーは、一般的に道路に留まろうとするため、目的地に向かって直線で運転することはありません。したがって、実際に移動する距離は、垂直距離と水平距離の合計になります。または、式は次のとおりです。 abs(a) + abs(b) これはTaxicab Distanceと呼ばれます。この図は、2つの違いをうまく示しています。 に移動するため(6, 6)に、カラスは緑の線の上を飛ぶことができ、これにより6 * sqrt(2)約8.49の距離が得られます。タクシーは赤、青、または黄色の道を取ることができますが、すべて12になります。 これは私が尋ねている本当の質問につながります。カラスとタクシーの両方がポイントから出発し、ポイント(0, 0)に移動する場合(a, b)、タクシーの経路はどれくらい長くなりますか?または、より多くの数学の専門用語では、 2次元のベクトルが与えられた場合、ベクトルのnorm2とベクトルのnorm1の差を求めます。 この質問に答えるには、最短のプログラムまたは関数を作成する必要があります。「a」と「b」を2つの別々の入力として、または2つのアイテムのタプルとして選択できます。任意の適切な形式で入力および出力を取得できます。差が整数でない場合は、少なくとも小数点以下2桁まで正確である必要があります。 「a」と「b」は整数であり、両方とも0にはならないことを常に想定できます(ただし、どちらかがゼロになる可能性はあります) いつものように、標準の抜け穴が適用され、プログラムをバイト単位で可能な限り短くしようとします。 コードがどのように機能するかについての説明を投稿し、バイトを節約するために使用されるクールなトリックを実証する回答を支持します。 コードをテストするための例を次に示します。 #input #output 3, 4 2 -3, 4 2 -3, -4 2 6, 6 3.51 42, 0 0 10, 10 5.86 3, 3 1.76 ゴルフをお楽しみください!:)

18
一年生のカウント運動を自動化する
CodeGolfチャレンジ PWSSHHHH!3000年に極低温研究室で目を覚ます。おそらく配達員のキャリアチップを受け取るために割り当てオフィスに連れて行かれると、プローブはあなたが2000年からであることを検出します。ステレオタイプ、あなたは今日の現代の人間と比較して愚かであると仮定され、学年を繰り返すことを余儀なくされています。 あなたは一年生の教室に入り、教師が課題を与えています。彼女は50までの数字を言うか、書きます。彼女がボードに数字を書く場合(たとえば:25)、その数字までを「1、2、3、...、25」と言わなければなりません。 「。彼女が数字を大声で言ったら(たとえば、「6」)、タブレットで、その数字までの数字を「1、2、3、4、5、6」と書く必要があります。 これは非常に面倒になり、21世紀のまだ機能しているがまだ機能しているプログラミングの知識でプロセスを自動化することにします。 目的: プログラムは入力を受け取る必要があります。この入力は、10進数(1 thru 50)または書き出された数値(one thru fifty)のいずれかです。 •入力が10進数の場合、出力は書き出されたスタイルを使用して、1からその数までカウントする必要があります。(例:32) •入力が書き出された数値である場合、出力は10進数形式を使用して1からその数値までカウントする必要があります。(例32) ルール: 入力と出力は、どのような場合でも選択できます(したがって、必要に応じて大文字のみを受け入れるプログラムを作成できます)。 入力10進数は数値型(intなど)である必要はありません。数値を含む入力文字列(25対 "25")にすることができます。どちらでも構いませんし、プログラムに受け入れたいものを選択できます。(プログラムは両方を受け入れる必要はありません) 書かれたスタイルでは、複合語の間にハイフンは必要ありませんが、必要に応じてできます。 出力値は何らかの形式で区切る必要がありますが、セパレータは問題ありません 1,2,3 1 2 3 etc num2words(python)などのような追加のライブラリを追加することはできません(ただし、システムライブラリは問題ありません) バックストーリーには2000年から来たと書かれていますが、その日付以降に作成された言語を使用できます(笑) これはcode-golfなので、バイトカウントが最も短いプログラムが勝ちます!

11
異なるタスク、同じキャラクター
この課題では、同じ文字セットを使用して4つの異なるタスクを解決する必要があります。文字を並べ替えることはできますが、文字を追加または削除することはできません。 勝者は、最小数の文字を使用してすべてのタスクを解決する提出物になります。すべてのタスクは同じ言語で解決する必要があります。 一意の文字の最小数ではなく、最小文字数であることに注意してください。 タスク1: N3番目ごとの合成数の最初の数を出力します。以下のコードブロックは、最初の行に最初の19個の合成番号を示し、下の行に3番目ごとの合成番号を示します。 4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 22, 24, 25, 26, 27, 28, 30 4, 9, 14, 18, 22, 26, 30 その場合N=5、出力はになります4, 9, 14, 18, 22。をサポートする必要があり1<=N<=50ます。 合成数は、素数でも1でもない正数です。 結果N=50は次のとおりです。 4, 9, 14, 18, 22, 26, 30, 34, 38, 42, 46, 50, …

20
カーマイケル関数を計算する
タスクの説明 数論では、カーマイケル関数 λは正の整数かかり N戻る以上の正の整数kのようにk個の各整数の乗互いに素に、nは 1に等しいモジュロNを。 正の整数nが与えられた場合、解はλ(n)を計算する必要があります。バイト単位の最短コードが優先されます。 プログラムは理論的には任意の大きな入力に対して機能するはずですが、効率的である必要はありません。 ヒント すべてのλ(n)のシーケンスはOEIS A002322です。 未実装のPython実装は次のようになります from fractions import gcd def carmichael(n): coprimes = [x for x in range(1, n) if gcd(x, n) == 1] k = 1 while not all(pow(x, k, n) == 1 for x in coprimes): k += 1 return k (Pythonでは、pow(A, …

1
「グリッドを埋める」問題
単純なルールでありながら、自明でないアルゴリズムによる課題。:-) 仕事 スペースで区切られた整数の形式で入力を取得します。 N A B S ここで、Nは、AとBの間の一意の数値(整数)で満たされた2D正方行列の辺の長さです。この行列の各行と列の合計は常に同じです:S(言い換えると、行列は半魔法の正方形です)。 注意: すべての数値は正です。例外はAであり、0の場合があります。 例 ために 3 1 10000 2015 有効な解決策は ために 8 1 300 500 有効な解決策は 出力 出力はASCIIテーブルである必要があります。上記の最初の例の例: 384 159 1472 1174 499 342 457 1357 201 スペースで埋められた右揃えの整数。各列の幅は、その列の最大の整数の幅です。 得点 これはcode-golfであるため、バイト単位の最短コードが優先されます。標準的な抜け穴が適用されます(特に、この問題を解決するためのビルトインについて)。間違った入力や不可能な入力(負の数を含む)を気にする必要はありません。上記の2番目の例の回答(必須)にサンプル出力を提供してください。
36 code-golf  math  grid 

30
フィボナッチオリアル
定義 F(n)正整数のフィボナッチ数列は、次のように定義されます。 1. F(1) = 1 2. F(2) = 1 3. F(n) = F(n-1) + F(n-2), where n is an integer and n > 2 正の整数のフィボナッチ口径はの積です[F(1), F(2), ..., F(n)]。 仕事 正の整数が与えられた場合n、のフィボナッチオリアルを見つけますn。 スペック のフィボナッチオリアルは100、合理的なコンピューターで5秒未満で計算する必要があります。 テストケース n Fibonacci-orial of n 1 1 2 1 3 2 4 6 5 30 6 240 …

14
合計は常に15です
入力として負でない整数の配列を受け取り、入力配列の要素を含むベクトル/配列のセットを順番に出力するプログラムまたは関数を作成します。各ベクトルが合計15になるように分割します。 N個の要素は「15をヒット」せず、15をパスした数を切り捨てる必要があり、残りは次のベクトルの最初の要素になります。これは、入力配列の最後に到達するまで続きます。最終ベクトルの合計が15未満の場合、合計を増やすために最後に数値を追加する必要があります。 例を見れば、ルールがより簡単に理解できると思います。 Input: 3 7 5 10 Output: 3 7 5 <- Sum is 15 10 5 <- 5 is added to make the sum 15 Input: 2 4 5 9 2 3 5 0 2 4 5 0 3 Output: 2 4 5 4 <- Sum 15. 9 …

30
ソースコードを逆にすると、入力が無効になります。
露骨なぼったくりのぼったくり。それらに賛成票を投じてください! 受け入れたい場合、あなたのタスクは、整数の入力/引数を出力/返すプログラム/関数を書くことです。トリッキーな部分は、ソースコードを逆にする場合、出力は否定された元の整数でなければならないということです。 例 あなたのソースコードがでABC、その入力がであるとしましょう4。CBA代わりに記述して実行すると、出力はでなければなりません-4。 あなたのソースコードがでABC、その入力がであるとしましょう-2。CBA代わりに記述して実行すると、出力はでなければなりません2。 の入力は0、0またはを提供する-0場合がありますが、符号付きゼロをサポートする場合は、-0を提供する必要があります0。

21
NxNxNルービックキューブの順列の量
前書き: 3x3x3ルービックキューブが有する43,252,003,274,489,856,00043,252,003,274,489,856,00043,252,003,274,489,856,000は約43である、可能な順列を京。この数値については聞いたことがあるかもしれませんが、実際にはどのように計算されますか? 3x3x3ルービックキューブには6つの側面があり、それぞれに9つのステッカーがあります。ただし、ステッカーではなく(外部)ピースを見ると、6つの中央ピースがあります。8つの角の部分。12個のエッジピース。センターは移動できないため、計算ではそれらを無視できます。コーナーとエッジに関して: 8!8!8!あります!(40,32040,32040,320)の方法は、8つのコーナーを配置します。各コーナーには3つの方向がありますが、独立して方向付けできるのは7つ(8つのうち)だけです。第八/最終コーナーの向きは、所与の、先行7に依存37373^7(2,1872,1872,187)の可能性。 12個あります!12!212!2\frac{12!}{2}(239,500,800239,500,800239,500,80012面の縁部を配置する)方法。12!12!12!から半分に!これは、角が正確に一致するときに、エッジが常に偶数の順列にある必要があるためです。イレブンエッジが所定の第12 /最終的なエッジのフリップフロッ先行11に依存して、独立して反転することができる2112112^{11}(2,0482,0482,048)の可能性。 これをまとめると、次の式があります。 8!×37×12!2×211=43,252,003,274,489,856,0008!×37×12!2×211=43,252,003,274,489,856,0008!×3^7×\frac{12!}{2}×2^{11} = 43,252,003,274,489,856,000 出典:Wikipedia-ルービックキューブ順列 これはすでにかなり複雑に見えるかもしれませんが、3x3x3キューブの場合はまだかなり単純です。偶数キューブの場合、式はわずかに異なります。これは、たとえば4x4x4キューブの式です。 8!×37×24!2247=7,401,196,841,564,901,869,874,093,974,498,574,336,000,000,0008!×37×24!2247=7,401,196,841,564,901,869,874,093,974,498,574,336,000,000,000\frac{8!×3^7×24!^2}{24^7} = 7,401,196,841,564,901,869,874,093,974,498,574,336,000,000,000 これは、短いスケールで約7.40 quattuordecillionです。 また、より大きなNxNxNキューブ(つまり、現在の世界記録33x33x33)の場合、式はかなり拡張されます。ただし、この紹介を長くしすぎないように、代わりにこれらのリンクをここに配置します。ここでは、4x4x4キューブと他のサイズのNxNxNキューブの順列を結果の式で説明します。 2x2x2 4x4x4 5x5x5 6x6x6 7x7x7 33x33x33 あなたは今疑問に思っているかもしれません:に基づいた一般的な公式はありますか NNNの任意のためのNNN xはNNN xはNNNキューブ?確かにあります。NNN基づいてまったく同じ結果を与える3つの完全に異なるアルゴリズムを次に示します。 1:クリスハードウィックのフォーミュラ: (24×210×12!)N(mod2)×(7!×36)×(24!)⌊14×(N2−2×N)⌋(4!)6×⌊14×(N−2)2⌋(24×210×12!)N(mod2)×(7!×36)×(24!)⌊14×(N2−2×N)⌋(4!)6×⌊14×(N−2)2⌋\frac{(24×2^{10}×12!)^{N\pmod2}×(7!×3^6)×(24!)^{\lfloor{\frac{1}{4}×(N^2-2×N)}\rfloor}}{(4!)^{6×\lfloor{\frac{1}{4}×(N-2)^2}\rfloor}} WolframAlphaで試してみてください。 2:クリストファー・モウラの三角式: 8!×37×(24!(4!)6)14×((N−1)×(N−3)+cos2(N×π2))×(24!)12×(N−2−sin2(N×π2))×(12!×210)sin2(N×π2)×124cos2(N×π2)8!×37×(24!(4!)6)14×((N−1)×(N−3)+cos2⁡(N×π2))×(24!)12×(N−2−sin2⁡(N×π2))×(12!×210)sin2⁡(N×π2)×124cos2⁡(N×π2)8!×3^7×\left(\frac{24!}{(4!)^6}\right)^{\frac{1}{4}×((N-1)×(N-3)+\cos^2(\frac{N×\pi}{2}))}×(24!)^{\frac{1}{2}×(N-2-\sin^2(\frac{N×\pi}{2}))}×(12!×2^{10})^{\sin^2(\frac{N×\pi}{2})}×\frac{1}{24^{\cos^2(\frac{N×\pi}{2})}} WolframAlphaで試してみてください。 3:クリストファー・モウラの素数式: 212×(2×N×(N+7)−17−11×(−1)N)×3N×(N+1)+2×512×(2×N×(N−2)+1+(−1)N)×718×(6×N×(N−2)+3+5×(−1)N)×1114×(2×N×(N−2)−1+(−1)N)×9657718×(2×N×(N−2)−3+3×(−1)N)212×(2×N×(N+7)−17−11×(−1)N)×3N×(N+1)+2×512×(2×N×(N−2)+1+(−1)N)×718×(6×N×(N−2)+3+5×(−1)N)×1114×(2×N×(N−2)−1+(−1)N)×9657718×(2×N×(N−2)−3+3×(−1)N)2^{\frac{1}{2}×(2×N×(N+7)-17-11×(-1)^N)}×3^{N×(N+1)+2}×5^{\frac{1}{2}×(2×N×(N-2)+1+(-1)^N)}×7^{\frac{1}{8}×(6×N×(N-2)+3+5×(-1)^N)}×11^{\frac{1}{4}×(2×N×(N-2)-1+(-1)^N)}×96577^{\frac{1}{8}×(2×N×(N-2)-3+3×(-1)^N)} ここで、965779657796577は(13×17×19×23)(13×17×19×23)(13×17×19×23)です。 WolframAlphaで試してみてください。 出典:Cubers-reddit-位置の数、神の数などの数学的計算式 チャレンジ: 入力整数与えられており、これら三つの式(または独自の誘導体)のいずれかを選択し、実装NNNレンジでの[2,100][2,100][2,100]、正しい結果を出力します。 チャレンジルール: これら3つ以外の別の式を自由に使用できますが、これら3つが正しいことが証明されていることに注意してください。別の式を使用する場合は、元の式のリンクを追加してください(または、自分で計算する場合は、詳細な説明を追加してください)。そして、出力が正しい場合、範囲内のすべての整数をチェックします。おそらくインスピレーションは、このシーケンスA075152のoeisにあります。 あなたの言語が科学的な出力を自動的に出力する場合(すなわち、4x4x4式の後の数字の代わりに1.401 ... × 10451.401 ...×10451.401...×10^{45})、これは許可されます。ただし、コード内の式の実行中の浮動小数点精度による丸め誤差は許可されないため、この科学的な丸めを正確な出力に変換して、結果を検証できるように追加のコードを回答に追加してください-実際の結果は正確。 プログラム/機能は、範囲内の少なくとも入力の正しいあるべきである[ 2 …

2
銀行で出納係にお金を尋ねるにはどうすればよいですか?
銀行に行ってお金を引き出す必要があります。私は30ドル、インターネットのためにルームメイトに支払うために22ドル、洗濯のために8ドルを引き出す必要があります。これらはどちらも変更できないため、30ドルを2つのサイズの2つのパーティションに分割する必要があります。つまり、窓口係から30ドルの支払い方法を尋ねられた場合、リクエストを行う必要があります。20、5、5枚で欲しいと伝えることができました。しかし、私は自分の要求をできるだけシンプルにして、自分自身を繰り返さなくても済むようにします。リクエストをより簡単にするために、合計で8が暗示されているため、現金に20個と2個以上を含めるように依頼できますが、受け取った請求書の1つが1ドルの請求書であることを要求できます( 8)を作らずに29ドルを作ろうとするだけです。 だからそれはすべてうまくいきますが、私は銀行に行くたびにこの計算を行う必要があるので、私はこれを行うプログラムを書くと思いました(私のためにこれを行うプログラムを書いてください)。 プログラムまたは関数は、私が行う必要のあるすべての支払いを表す整数のリストと、銀行で利用可能な請求書の額面を表す整数のセットを取り、すべての方法で合計を行うように、額面の最小リストを出力する必要がありますこれには、金種のリストを支払いのリストに明確に分割することができます。 追加ルール 額面リストには常にaが含まれると想定するか、1各リストに自分で追加することができます。 一部の入力には、複数の最小限のソリューションがあります。これらの場合、どちらかを出力できます。 これはコードゴルフなので、回答はバイト単位でスコアリングされ、バイト数は少ない方が良いです。 テストケース Payments, denominations -> requests {22,8} {1,2,5,10,20,50} -> {1} or {2} {2,1,2} {1,5} -> {1} {20,10} {1,2,5,10,20,50} -> {} {1,1,1,1} {1,2} -> {1,1,1} {20,6} {1,4,5} -> {1} {2,6} {1,2,7} -> {2} {22, 11} {1, 3, 30, 50} -> {1, 3} {44, 22} …
35 code-golf  math 

15
11 =(1 + 2 + 3 + 4 + 5)-(1 + 2 + 3)+(6)-(4)
正の整数Nを指定すると、次のアルゴリズムがNに到達するために必要なステップ数を返すことがタスクになります。 最小の三角数の検索T iのようにT I ≥Nを。対応するリストL = [1、2、...、i]を作成します。 Lの項の合計がNより大きい間、リストから最初の項を削除します。 Lの項の合計がNより小さい場合、iをインクリメントしてリストに追加します。ステップ2に進みます。 Nに到達するとすぐに停止します。最初のステップのみが体系的に実行されます。ステップ2と3はまったく処理されない場合があります。 例 以下はN = 11の例です。 したがって、N = 11の期待される出力は4ですです。 他の例: N = 5 - T 3 = 1 + 2 + 3 = 6で始まり、 2 + 3 = 5が続きます。期待される出力: 2。 N = 10 -ためだけ最初のステップが必要とされる 10は三角数である: T 4 = 1 + 2 + …

16
ストックタイムマシン
ストックタイムマシン tomorrowStocksNASDAQのお気に入りのビジネスの株価を含むデータセットにアクセスしました。このデータセットは、開いてから数分でインデックス付けされたコンテナです。各インデックスには、その時点の株価が含まれています。 // Assume the stock market opens at 9:30AM EDT // tomorrowStocks[] contains the prices of your target stock. // If the stock is $22 @ 10:30AM EDT tomorrowStocks[60] == 22 出力 あなたの仕事は、可能な限り最高の結果を判定することである1 purchaseと1 saleのを1 stock与えられたデータセットから。 落とし穴 ちょうど1つの株式を売買する必要があります。 あなたは購入しないことと同じ時間帯で販売しています。 販売する前に購入する必要があります。 テストデータ [1,2,3,4,5] # 4 [1,99,2,105] # 104 [99,1,99,100] # …

30
三角形のアスペクト比を評価する
三角形の3つの辺の長さを与え、そのアスペクト比ARを評価します、次の式を使用してます。 どこで 三角形が等辺に近いほど、1そのアスペクト比に近くなります。1有効な三角形のアスペクト比は、それ以上です。 入力 入力は、リストまたは必要に応じて同様のものにカプセル化できる3つの正の実数です。 3つのサイドレングスが入力される順序に関係なく、プログラムは同じ値を出力する必要があります。 これらの3つの数値は、常に三角形の有効な辺の長さです(sidelengthsのある縮退した三角形1で1あり2、入力として与えられません)。値が縮退三角形に極端に近くなった場合、浮動小数点の不正確さを心配する必要はありません(たとえばdivision by 0、入力でプログラムがエラーになることは許容されます[1, 1, 1.9999999999999999])。 入力はSTDIN、を介して、関数の引数、または類似のものとして与えることができます。 出力 出力は、1言語で許容される標準精度以上の実数です。 出力は、に出力されSTDOUTたり、関数から返されたり、類似したものになります。 テストケース Inputs Output 1 1 1 1 3 4 5 1.25 42 42 3.14 ≈ 6.9476 14 6 12 1.575 6 12 14 1.575 0.5 0.6 0.7 ≈ 1.09375 得点 これはcode-golfであるため、バイト単位の最短回答が優先されます。

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