タグ付けされた質問 「number-theory」

数論は、主に正の整数である数の性質と関係を含みます。

30
int入力nを指定して、n * reversed(n)を出力します
整数nを指定して出力n * reversed(n) reversed(n)は、reverseの桁を取得したときに取得する数値ですn。 reverse(512) = 215 reverse(1) = 1 reverse(101) = 101 >>>>>>>> func(5) = 5*5 = 25 func(12) = 12*21 = 252 func(11) = 11*11 = 121 func(659) = 659*956 = 630004 最短のコードが勝ちます! リーダーボード コードスニペットを表示 var QUESTION_ID=144816,OVERRIDE_USER=71625;function answersUrl(e){return"https://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"https://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 …
9 code-golf  math  arithmetic  code-golf  math  integer  code-golf  arithmetic  integer  code-golf  sequence  base-conversion  palindrome  code-golf  math  primes  integer  code-golf  parsing  conversion  syntax  code-golf  sequence  primes  code-challenge  geometry  optimization  code-golf  graph-theory  code-golf  number-theory  primes  integer  code-golf  source-layout  cops-and-robbers  code-golf  source-layout  cops-and-robbers  code-golf  sequence  primes  integer  code-golf  math  number-theory  primes  rational-numbers  code-golf  math  sequence  number-theory  primes  code-golf  string  code-golf  math  combinatorics  permutations  restricted-complexity  code-golf  array-manipulation  code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 

5
Goldbachパーティションの増加
ゴールドバッハの予想は次のように述べている。 2より大きいすべての偶数は、2つの素数の合計です。 私たちは、数のゴールドバッハのパーティションを検討するn個に追加する2つの素数のペアであることを、N。ゴールドバッハのパーティションが増加していることを懸念しています。数値のゴールドバッハパーティションのサイズは、その数値のすべてのパーティションの最小素数のサイズで測定します。このサイズがすべての小さい偶数のサイズよりも大きい場合、数値はパーティションの増加です。 仕事 n> 2の偶数の整数を指定して、nがGoldbachパーティションの増加であるかどうかを判別し、2つの一意の値を出力します。 これはcode-golfなので、ソースコードのバイト数を最小限に抑えることを目指してください。 OEIS A025018

3
すべての整数mod qを生成する数を見つける
整数を法を検討qどこqジェネレータは任意の整数であり、素数である1 < x < qようにx^1, x^2, ..., x^(q-1)、すべてのカバーq-1の間の整数の1とq-1。たとえば、7を法とする整数(これをと表記Z_7)について考えてみます。次に3, 3^2 mod 7 = 2, 3^3 = 27 mod 7 = 6, 3^4 = 81 mod 7 = 4, 3^5 = 243 mod 7 = 5, 3^6 = 729 mod 7 = 1、すべての値を3, 2, 6, 4, 5, 1カバーし、1..6必要に応じてすべての整数をカバーします。 タスクは、入力nを受け取り、のジェネレータを出力するコードを記述することですZ_n。もちろん、これを行う組み込み関数やライブラリは使用できません。 コードのパフォーマンスに対する唯一の制限は、で完全にテストする必要があることですn = 4257452468389。 …

3
非単純なリーマンゼロの虚数部
前書き リーマン仮説によれば、リーマンゼータ関数のすべてのゼロは、負の偶数の整数(トリビアルゼロと呼ばれます)または1/2 ± i*t実t数値の形式の複素数(非トリビアルゼロと呼ばれます)のいずれかです。この課題では、虚数部が正である非自明なゼロのみを考慮し、リーマン仮説が真であると仮定します。これらの重要なゼロは、それらの虚数部の大きさによって並べ替えることができます。最初のいくつかはおよそ0.5 + 14.1347251i, 0.5 + 21.0220396i, 0.5 + 25.0108576i, 0.5 + 30.4248761i, 0.5 + 32.9350616iです。 チャレンジ 整数与えられN、出力の虚部Nリーマンゼータ関数の番目の非自明なゼロは、最も近い整数に丸め(丸い半アップ、そう13.5に丸めることになります14)。 ルール 入力と出力は、ご使用の言語で表現可能な整数の範囲内になります。 先に述べたように、この挑戦​​の目的のために、リーマン仮説は真実であると仮定されます。 入力がゼロインデックスか1インデックスかを選択できます。 テストケース 次のテストケースは、インデックスが1つあります。 1 14 2 21 3 25 4 30 5 33 6 38 7 41 8 43 9 48 10 50 50 143 100 237 …

6
誤解された単項式
正であるnと仮定して、方程式が存在しx、 これは、2つの単項式の間の関係を表します。多くの人々は、これらを同一視するという単純な間違いを犯します(つまり3x^2、および(3x)^2)。 チャレンジ 正の整数を指定iすると、解nを決定して返し、x合計が最小になるように配列として返し[n, x]ます。引き分けの場合は、どのソリューションセットでも問題ありません。 テストケース 62658722541234765 [15, 11] 202500 [4, 15] 524288 [8, 4] 33044255768277 [13, 9]

6
クロネッカー記号を計算する
こことここに関連リンクがありますが、ここに短いバージョンがあります: 2つの整数の入力がaありb、負の無限大と無限大の間にあります(必要な場合は範囲​​を制限できますが、関数は負の入力を受け入れる必要があります)。 クロネッカー記号の定義 (a|b)入力aおよびb場所のクロネッカーシンボルを返す必要があります (a|b) = (a|p_1)^e_1 * (a|p_2)^e_2 * ... * (a|p_n)^e_n ここでb = p_1^e_1 * p_2^e_2 * ... * p_n^e_n、およびp_iおよびe_iは、の素因数分解における素数と指数ですb。 ここで定義されている奇数の素数のp場合。(a|p)=a^((p-1)/2) (mod p) の場合b == 2、(n|2)={0 for n even; 1 for n odd, n=+/-1 (mod 8); -1 for n odd, n=+/-3 (mod 8) の場合b == -1、(n|-1)={-1 for n<0; …

5
10進数と2 ** iの基数で表を印刷する
コンピュータはバイナリで生きています。すべてのプログラマーはバイナリーを知っています。 しかし、2**xベースは非実用的であるとしばしば無視されますが、それらはバイナリとの美しい関係を持っています。 そのような美しい関係の一例を示すために、19が私の証言になります。 19 10011 103 23 13 j 19は10進数で、わかりやすくするために含まれています。 10011は2進数で19です。 103、base 4では、バイナリから次のように作成されます。 log2(4)== 2、2つ覚えておきましょう。 2の倍数の長さになるようにパッド10011-> 010011 2 x 2の数字を左から右に取り、2桁の2進数として扱います。 01-> 1 00-> 0 11-> 3 完了、base-4の10011は103です。 底が8の場合、log2(8)= 3と同じですが、3行3列です。 パッド010011 010-> 2 011-> 3 23、完了。 基数16の場合、log2(16)= 4と同じですが、4行4列です。 パッド00010011 0001-> 1 0011-> 3 13、完了。 仕事 入力として最大数を指定すると、テーブルを出力します base-ten-i base-two-i base-four-i base-eight-i base-sixteen-i …

4
アンタッチャブル
アンタッチャブルナンバーズα 触れられない数は正の整数であり、正の整数(触れられない数自体を含む)の適切な除数すべての合計として表すことはできません。 たとえば、数値4は、9の適切な除数の合計に等しいため、変更不可ではありません。1+ 3 =4。数値5は、正の整数の適切な除数の合計ではないため、変更不可です。5 = 1 + 4は、1を含む明確な正の整数の合計として5を書き込む唯一の方法ですが、4が数値を除算すると、2も除算されるため、1 + 4は、任意の数値の適切な除数すべての合計になることはできません。因子のリストには4と2の両方が含まれている必要があります。 数字の5は変更できない唯一の奇数であると考えられていますが、これは証明されていません。それは、ゴールドバッハ予想のわずかに強いバージョンから続くでしょう。β ポールエルデスによって証明された事実は、無数の手に負えない数です。 アンタッチャブルのいくつかのプロパティ: アンタッチャブルは素数よりも1だけ大きい アンタッチャブルは5を除いて素数より3大きい 手に負えないものは完璧な数ではない これまでは、2と5以外のすべてのアンタッチャブルはコンポジットです。 目的 標準入力または関数パラメーターを介して自然数を取り、最初の変更不可能な数を出力するプログラムまたは関数を作成します。nn 出力では数字を分離する必要がありますが、これは何でもかまいません(つまり、改行、コンマ、スペースなど)。 これは少なくとも機能するはず1 <= n <= 8153です。これは、B-ファイルがOEISエントリのために提供するという事実に基づいているγに上がりますn = 8153。 通常通り、標準の抜け穴は許可されていません。 I / Oの例 1 -> 2 2 -> 2, 5 4 -> 2, 5, 52, 88 10 -> 2, 5, 52, …

16
最初のスパイラル、次に斜め
正の入力番号を指定してn、左上を時計回りに内側にらせん状にして、1〜の数のらせんを作成します。対角線の合計を取り(奇数の場合、真ん中の数は2回カウントされます)、その数を出力します。n^21nn^2 の例n = 1: 1 (1) + (1) = 2 の例n = 2: 1 2 4 3 (1+3) + (4+2) = 4 + 6 = 10 の例n = 4: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 (1+13+15+7) + (10+16+14+4) = 36 …

16
平らな地球を旅する
平地の世界の座標は、緯度(x)と経度(y)で構成されます。これらは0〜9999の範囲の整数です。ガウス整数によく似ていますが、常に次の表記法を使用して記述されています。 411S 370E すなわちであり、SまたはN緯度に付加し、EまたはW2つのコンポーネント間の空間(S)と、経度に付加します。 ゴール 空白で区切られた2つの座標を読み取り、それらの合計を出力するプログラム(関数ではない)を記述します。最初の座標は開始点、2番目の座標は変位、出力は結果の位置です。 入出力 この課題は部分的にフォーマットに関するものであるため、入力形式と出力形式を明確に定義するようにします。 推奨される入力形式では、座標コンポーネント間に1つのスペースがあり、先行ゼロはなく、2つの座標間に改行文字があります。プログラムは、優先フォーマットを読み取ることができる必要があります。 出力には、任意の量の空白と先行ゼロを含めることができます。推奨される入力形式と異なる場合、プログラムはこの形式も読み取ることができる必要があります。 明確にするために、入力には追加の書式設定文字を含めることはできません(含めません)。必要なスペースと改行だけ。 得点 これは新しい勝利条件の実験です。数週間以内に回答を受け入れて、勝者を選びます。その後、より適切な回答が出た場合は、回答を変更します。 プログラムのスコアはそのバイト数です。優勝したプログラムは、400バイトより短く、バイト数が最も少ないプログラムですが、最も冗長なプログラミング言語で書かれています。勝者を決定するには: バイト数が400以上のプログラムを削除します(参加できますが、勝つことはできません)。 各プログラミング言語の最短プログラムのみを検討する 最長のプログラムの勝利 ポリグロットは、有効なすべての言語のプログラムと競合します(たとえば、プログラムが両方bashで有効である場合、sh両方の言語のプログラムと競合します)。 テストケース テストケースでは、最初の2行が入力で、3行目が出力です。 0S 0E 0S 0W 0N 0E (ゼロの方向は、入力と出力の両方で重要ではありません) 0S 9999E 9999N 9999W 9999N 0E (最大値) 42S 314W 42N 2718W 0N 3032W (ゼロの方向は出力では関係ありません) 5555N 8888W 7777S 0E 2222S 8888W (負の値はありません。符号を変更する必要がある場合は方向を変更してください) 0001N 4545W …
8 code-challenge  arithmetic  parsing  code-golf  interpreter  code-golf  random  classification  code-golf  ascii-art  code-golf  code-golf  string  number  array-manipulation  code-golf  math  rational-numbers  code-golf  internet  classification  code-golf  string  integer  code-golf  number  graphical-output  typography  king-of-the-hill  code-golf  number  sequence  palindrome  code-golf  math  code-golf  math  probability-theory  code-challenge  image-processing  test-battery  code-golf  number-theory  code-golf  tips  swift  code-golf  graphical-output  image-processing  color  code-golf  string  conversion  code-golf  string  array-manipulation  code-golf  encryption  king-of-the-hill  code-golf  string  ascii-art  code-golf  code-golf  string  compression  decision-problem  code-golf  ascii-art  number-theory  division  code-golf  ascii-art  code-golf  code-golf  number  array-manipulation  code-golf  ascii-art  code-golf  code-golf  string  code-golf  sequence  number-theory  code-golf  math  geometry  code-golf  combinatorics  code-golf  integer  code-golf  arithmetic  number-theory  code-golf  arithmetic  restricted-source  number-theory  restricted-complexity 

2
コラッツアタック!
この課題は、Collat​​z予想に関連するいくつかの新しい発見に基づいており、共同のpolymathプロジェクトの精神に基づいて多少設計されています。推測全体を解決することは、数学/数論の専門家によって非常に困難または不可能であると見なされていますが、この単純なタスクはかなり実行可能であり、サンプルコードの多くの例があります。最良のシナリオでは、競技者のエントリ、工夫、創造性に基づいて、問題に対する新しい理論的な洞察が得られる可能性があります。 新しい発見は次のとおりです。連続する一連の整数[ n1 ... n2 ]が合計mであると想像してください。これらの整数をリスト構造に割り当てます。これで、Collat​​z予想の一般化バージョンは次のように進むことができます。次に、いくつかの選択基準/アルゴリズムに基づいて、リスト内のm(またはそれ以下)の整数の1つを繰り返します。その整数が1に達した場合は、リストからその整数を削除します。明らかに、Collat​​zの推測は、このプロセスがn1、n2のすべての選択に対して常に成功するかどうかを判断することと同等です。 これがツイスト、追加の制約です。各ステップで、m個の現在の反復をリストに一緒に追加します。次に、関数f(i)を考えます。ここで、iは反復数であり、f(i)はリスト内の現在の反復の合計です。特定の "nice"プロパティを持つf(i)を探します。 全体/全体的な概念は、ここでよりよく/より完全に文書化されています(ルビーの多くの例を使用)。その結果、「ほぼ単調に減少する」f(i)につながるかなり単純な戦略/ヒューリスティックス/アルゴリズムが存在し、そのページに多くの例が示されています。以下は、(gnuplotでプロットされた)グラフィカルな出力の例です。 だからここに課題があります:既存の例のバリエーションまたはまったく新しいアイデアを使用して、選択アルゴリズムを構築し、f(i)を「可能な限り単調減少に近づける」ようにします。応募者は、提出物にf(i)のグラフを含める必要があります。有権者は、そのグラフとコード内のアルゴリズムのアイデアに基づいて投票できます。 コンテストは、n1 = 200 / n2 = 400パラメータのみに基づいています。(サンプルページでも同じです。)うまくいけば、競技者は他の地域を探索し、アルゴリズムを一般化しようとするでしょう。 ここで非常に役立つ1つの戦術は、勾配降下型アルゴリズム、または遺伝的アルゴリズムです。 興味のある参加者とのチャットでこれについてさらに議論できます。 いくつかの参照のために、別のcodegolfこのCollat​​zの挑戦:コラッツの問題(でドアノブ)

5
バイナリ文字列とそのペアの間の全単射
入力:「0」と「1」の1つまたは2つの文字列。2つある場合は、スペースで区切られます。すべての文字列の長さが少なくとも1です。 出力:1つの文字列が入力された場合、2つが出力されます。2が入力された場合、1が出力されます。出力文字列は何でもかまいませんが、入力Aでプログラムを実行するとBが得られ、Bで実行するとAが得られます(入力111 11が与える00000場合、入力00000は与える必要があります111 11)。 つまり、プログラムをそれ自体にパイプすると、入力したものは何でも取得できるはずです。プログラムがfooと呼ばれる場合、次のようにテストできます。 >echo 101 101|foo|foo 101 101 ブルートフォーステクニックの使用を防ぐには、コードを10秒間で1000桁の文字列で実行できる必要があります。これに対する私のpythonソリューションは、10,000桁の文字列で1秒未満なので、これは問題になりません。 最短のコードが勝ちます。

3
Nまでの素因数分解自然数を昇順でリストします
与えられたnリストに対して、昇順および昇順のすべての自然数の素因数分解。たとえば、= 10の場合、出力は次のようになります。1nn 1: 2: 2^1 3: 3^1 4: 2^2 5: 5^1 6: 2^1 3^1 7: 7^1 8: 2^3 9: 3^2 10: 2^1 5^1 要件: 数値を繰り返し処理して、それぞれを因数分解することはできません。(数値を対数時間で因数分解する方法を知らない限り、パズルを解くのに時間を無駄にすることはないと思います。)これは非効率的です。 出力は上記の例のようになります。各行に、数とその素因数のリスト。 これnは非常に大きくなる可能性があるため、すべての因数分解をメモリに生成し、最後にそれらを並べ替えることは不可能である可能性があることを考慮してください。(ただし、これに違反する賢い解決策がある場合は、それも投稿してください。)

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