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

この課題は、数値を使用、操作、入力として受け入れる、または数値を出力することによって解決することを目的としています。

30
テトラションを印刷する
として表されるテトレーションは、a^^b累乗の繰り返しです。たとえば、2^^3is 2^2^2は16です。 2つの数値aとbが与えられると、printしますa^^b。 テストケース 1 2 -> 1 2 2 -> 4 5 2 -> 3125 3 3 -> 7625597484987 etc. 科学表記法は受け入れられます。 これはcode-golfであるため、バイト数が最小のコードが優先されます。
16 code-golf  math  number 

3
最短時間でこの数字パズルのすべての解決策を見つける
歴史 私の会社は、毎週のニュースレターを社内の全員に送信しています。これらのニュースレターには、先週のなぞなぞの解決策を最初にメールしたり提供したりした会社の誰に対しても叫び声とともに、なぞなぞが含まれています。これらのなぞなぞのほとんどは非常に些細なものであり、正直なところハイテク企業にとってはかなり退屈なものですが、数か月前に私が注意を引いたものがありました。 オリジナルのなぞなぞ: 以下の形状を考えます: 1〜16の自然数があります。すべての連続する行と連続する列の合計が29になるように、すべてをこの形状に合わせます。 たとえば、このパズルに対するそのようなソリューション(ニュースレターに提出した「標準的な」ソリューション)は次のとおりです。 しかし、それを解決する過程で、かなり興味深い情報を見つけました。 それよりもはるかに多くのソリューションがあります。実際、9,368のソリューションがあります。 ルールセットを拡張して、行と列が29である必要はなく、互いに等しいことだけを要求する場合、33,608のソリューションが得られます。 合計27の4,440のソリューション。 合計28の7,400のソリューション。 29の合計のための9,368のソリューション。 合計30の6,096のソリューション。 合計31の5,104ソリューション。 合計32の1,200ソリューション。 だから私と私の同僚(主に私のマネージャーは、「一般目的」のプログラミングスキルを持っている私以外の唯一の人物だったので)は、1か月のほとんど続いた挑戦に着手しました。関連する義務-可能な限り迅速にすべてのソリューションを見つけるプログラムを作成しようとするために。 元の統計 問題を解決するために私が書いた最初のプログラムは、単にランダムな解決策を何度もチェックし、解決策が見つかった時点で停止しました。この問題について数学的分析を行ったことがあれば、おそらくこれが機能してはならないことをすでに知っているでしょう。しかし、どういうわけか私は幸運に恵まれ、プログラムが1つのソリューション(上記で投稿したもの)を見つけるのに1分しかかかりませんでした。プログラムを繰り返し実行すると、多くの場合10〜20分かかるため、これは明らかに問題の厳密な解決策ではありませんでした。 パズルのあらゆる可能な順列を反復する再帰的ソリューションに切り替え、合計していない合計を削除することで、多くのソリューションを一度に破棄しました。IE私が比較した最初の行/列が既に等しくなかった場合、パズルに入れ替わったものがそれを変更しないことを知って、そのブランチのチェックをすぐに停止できました。 このアルゴリズムを使用して、最初の「適切な」成功が得られました。プログラムは、約5分で33,608のソリューションすべてを生成して吐き出すことができました。 私のマネージャーは異なるアプローチを持っていました:私の仕事に基づいて、可能な解決策は27、28、29、30、31、または32の合計しかないと知っていたので、彼はそれらの特定の値についてのみ可能な合計をチェックするマルチスレッドソリューションを書きました。彼はわずか2分でプログラムを実行することができました。だから私は再び繰り返しました。可能なすべての3/4桁の合計をハッシュし(プログラムの開始時に、合計ランタイムでカウントされます)、行の「部分合計」を使用して、以前に完了した行に基づいて、以前に完了した行に基づいて残りの値を検索しました残りのすべての値をテストし、時間を72秒に短縮しました。その後、いくつかのマルチスレッドロジックを使用して、40秒に短縮しました。私のマネージャーは、プログラムを家に持ち帰り、プログラムの実行方法についていくつかの最適化を実行し、12秒に短縮しました。行と列の評価を並べ替え、 私たちのどちらかが1か月後にプログラムを取得した最速の時間は、マネージャーが0.15秒、私が0.33秒でした。私のマネージャーのプログラムはすべての解決策を見つけましたが、それらをテキストファイルに出力しなかったので、私は私のプログラムがより高速であると主張しました。彼がコードにそのロジックを追加した場合、多くの場合、0.4〜0.5秒かかりました。 私たちは、以来、生存するまで、当社内の個人的な挑戦を許されましたが、当然のことながら、質問の遺跡は:することができます。このプログラムは高速化できますか? それが私が皆さんに提起する挑戦です。 あなたの挑戦 私たちが取り組んだパラメーターは、「29の合計」ルールを緩和し、代わりに「すべての行/列の合計が等しくなる」ようにしました。このルールを皆さんにも設定します。したがって、課題は次のとおりです。この謎に対するすべての解決策を可能な限り短時間で発見(および印刷!)するプログラムを作成します。提出されたソリューションに上限を設定します。比較的まともなコンピューター(<8歳)でプログラムに10秒以上かかる場合、カウントするには遅すぎる可能性があります。 また、パズルにはいくつかのボーナスがあります: ソリューションを一般化して、16個の数値のセットだけでなく、それでも機能するようにできますint[1,16]か?タイミングスコアは、元のプロンプト番号セットに基づいて評価されますが、このコードパスを通過します。(-10%) 重複した数値を適切に処理して解決する方法でコードを記述できますか?これは見かけほど簡単ではありません!「視覚的に同一」のソリューションは、結果セット内で一意である必要があります。(-5%) 負の数を処理できますか?(-5%) あなたもすることができますしようとハンドルがの浮動小数点数というソリューションを生成するが、それは全く失敗した場合はもちろん、ショックを受けることはありません。しかし、堅牢なソリューションを見つけた場合、それは大きなボーナスの価値があるかもしれません! すべての意図と目的に対して、「回転」はユニークなソリューションと見なされます。したがって、異なるソリューションの単なるローテーションであるソリューションは、独自のソリューションとしてカウントされます。 コンピューターで作業しているIDEはJavaとC ++です。他の言語からの回答を受け入れることもできますが、コードのセットアップが容易なランタイム環境を入手できる場所へのリンクも提供する必要があります。

20
数字を分解してください!
あなたの仕事は、以下の形式を使用して数値を分解することです。 これはベース変換に似ていdigitsますが、ベースにリストする代わりに、リストをvalues入力に追加するようにリストします。 指定されたベースがの場合、nリスト内の各数値はの形式である必要があります。k*(n**m)ここで0<=k<nおよびmはリスト全体で一意です。 スペック 合理的な入力/出力フォーマット。プログラム/関数は2つの入力を受け取り、リストを出力します。 出力リストの順序は任意です。 0 除外または含めることができます。 リード0は許可されます。 組み込みが許可されます。 テストケース number base converted list input1 input2 output 123456 10 [100000,20000,3000,400,50,6] or [6,50,400,3000,20000,100000] 11 2 [8,2,1] or [0,0,0,0,8,0,2,1] 727 20 [400,320,7] 101 10 [100,1] or [100,0,1] 得点 これはcode-golfです。バイト単位の最短ソリューションが優先されます。
16 code-golf  number  sequence  number-theory  base-conversion  code-golf  bitwise  hashing  code-golf  string  ascii-art  whitespace  code-golf  math  code-golf  code-golf  image-processing  counting  code-golf  math  arithmetic  checksum  code-golf  code-golf  math  arithmetic  number-theory  code-golf  array-manipulation  random  code-golf  string  code-golf  math  ascii-art  base-conversion  code-golf  graphical-output  geometry  3d  code-golf  math  linear-algebra  matrix  code-golf  math  number  sequence  code-golf  array-manipulation  code-golf  math  matrix  linear-algebra  code-golf  number  sequence  counting  code-golf  string  code-golf  string  restricted-source  quine  sorting  code-golf  string  geometry  code-golf  string  code-golf  networking  code-golf  base-conversion  code-golf  math  matrix  code-golf  arithmetic  linear-algebra  matrix  code-golf  number  arithmetic  grid  code-golf  number  source-layout  code-golf  string  bitwise  checksum  code-golf  array-manipulation  code-golf  string  probability-theory  code-golf  tips  code-golf  sequence  code-golf  string  math  sequence  calculus  code-golf  string  palindrome  bioinformatics  code-golf  math  combinatorics  counting  permutations  code-golf  parsing  logic-gates  code-golf  arithmetic  number-theory  combinatorics  code-golf  math  sequence  polynomials  integer  code-golf  string  ascii-art  chess  code-golf  string  code-golf  number  code-golf  string  ascii-art  parsing  code-golf  code-golf  number  natural-language  conversion  code-golf  arithmetic  code-golf  string  code-golf  ascii-art  decision-problem 

30
交互サインシーケンス
前書き 数値の符号は、a +、または-ゼロ以外のすべての整数に対してaです。ゼロ自体は無意味です(+0と同じです-0)。次のシーケンスでは、正符号、ゼロ、負符号を交互に使用します。シーケンスはで始まる1ため1、正の符号、ゼロ(これは奇妙ですが、数字に0を掛けるだけ)と負の符号で記述します。 1, 0, -1 次の番号は2で、同じことを繰り返します。 2, 0, -2 最終的なシーケンスは次のとおりです。 1, 0, -1, 2, 0, -2, 3, 0, -3, 4, 0, -4, 5, 0, -5, 6, 0, -6, 7, 0, -7, ... または、より読みやすい形式: a(0) = 1 a(1) = 0 a(2) = -1 a(3) = 2 a(4) = 0 a(5) …

10
列からのブロック対角行列
Stack Overflowのこの質問からコピーしたものに触発されました。 行列が与えられた場合A、Bの列がAブロック対角形式で配置されるように行列を作成します。たとえば、与えられた 1 2 3 4 5 6 出力は 1 0 0 4 0 0 0 2 0 0 5 0 0 0 3 0 0 6 ルール 入力と出力は、2D配列、ネストされた配列、または行と列の区切り文字が異なる文字列の形式です。 入力(行列A)の数値は正の整数になります。 出力のゼロが何らかの合理的な方法で表示される限り、単項形式が許可されます。たとえば、上記の結果は、引用符を使用して各番号を囲むことで表示できます。 '1' '' '' '1111' '' '' '' '11' '' '' '11111' '' '' '' '111' '' '' '111111' …

13
numberに最も近い値を取得します
このコードゴルフでは、リスト内の別の番号から最も近い番号を取得する必要があります。 出力は、入力に最も近い番号になる場合があります。 例: value: (Input) 5 --- [1,2,3] --- 3 また、プログラムは負の数で動作する場合があります。 例: value: (Input) 0 --- [-1,3,5] --- -1 value: (Input) 2 --- [1, 5, 3] --- 1 (Because it gives priority to lower numbers) ルール: 前述のように、負の数を処理する必要があります。 2つの回答がある場合(例:0-[5、-5])、プログラムは最も低い番号を優先します。(-5) これはコードゴルフなので、最短のコードが勝ちます!

10
整数の分割、反転、再結合
バックグラウンド 数学では、整数を整数のペアと1対1で対応させることができることはよく知られています。これを行うには多くの方法がありますが、この課題では、そのうちの1つとその逆の操作を実装します。 タスク 入力は正の整数n > 0です。a, b ≥ 0などの一意の非負整数が存在することが知られています。出力は、正の整数の「反転バージョン」です。n == 2a * (2*b + 1)n2b * (2*a + 1) 入力および出力は、言語の標準の符号なし整数データ型に適合すると仮定できます。 ルールとスコアリング 完全なプログラムまたは関数のいずれかを作成できます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 テストケース in <-> out実装される関数はそれ自体が逆であるため、これらはformat で与えられます。出力をフィードバックする場合、元の入力を取得する必要があります。 1 <-> 1 2 <-> 3 4 <-> 5 6 <-> 6 7 <-> 8 9 <-> 16 10 <-> 12 11 <-> …

21
降順の数字列
前書き 例として、番号を見てみましょう7。次に、これを複製し、間に7つのスペースを配置します。これを取得します。 7_______7 その後、スペースがなくなるまで数を減らします。数7については次のようになります。 7_______7 6543210 次に、2つをマージするだけです。 7_______7 6543210 becomes 765432107 これは、N = 7の場合に出力されます。 簡単そうですね。N = 12を取ります。再び2つの数字の間に12個のスペースを挿入します。 12____________12 次に、減分を開始します。 12____________12 111098765432 そして、これは最終的に私たちに与えます: 1211109876543212 ご覧のとおり、下降部分は0 ではなく 2で終わります。 仕事 1より大きい整数を指定すると、上記のように降順が出力されます。 テストケース Input Output 2 2102 3 32103 4 432104 5 5432105 6 65432106 7 765432107 8 8765432108 9 98765432109 10 10987654321010 11 …

9
文字列を使用したベース変換
前書き 過去にいくつかの基本変換の課題がありましたが、任意の長さの数値(つまり、整数データ型をオーバーフローさせるほど長い数値)に取り組むように設計されたものは多くありませんでした。複雑です。このように基本コードの変更をどのように実行できるか興味があります。 チャレンジ あるベースの文字列を別のベースの文字列に変換できるプログラムまたは関数を選択した言語で記述します。入力は、変換される数値(文字列)、from-base(10進数)、to-base(10進数)、および文字セット(string)である必要があります。出力は、変換された数値(文字列)でなければなりません。 いくつかの詳細と規則は次のとおりです。 変換される数値は負でない整数になり(以降-と.文字セットであってもよいです)。出力も同様です。 先行ゼロ(文字セットの最初の文字)は削除する必要があります。結果がゼロの場合、単一のゼロ桁が残るはずです。 サポートされる最小ベース範囲は2〜95で、印刷可能なASCII文字で構成されます。 変換する数値の入力、文字セット、および出力は、すべて文字列データ型である必要があります。基数は、基数10の整数データ型(または整数浮動小数点数)でなければなりません。 入力数値文字列の長さは非常に長くなる場合があります。賢明な最小値を定量化することは困難ですが、少なくとも1000文字を処理し、まともなマシンで10秒未満で100文字の入力を完了することができると期待しています(この種の問題には非常に寛大ですが、私はしたくない焦点となる速度)。 組み込みの基本変更機能は使用できません。 文字セットの入力は、通常の0-9a-z ...などだけでなく、任意の配置にすることができます。 有効な入力のみが使用されると仮定します。エラー処理を心配しないでください。 勝者は、基準を達成する最短のコードによって決定されます。少なくとも7から10日以内に、または十分な提出があった場合は、それらが選択されます。同点の場合、より高速に実行されるコードが勝者になります。速度/パフォーマンスが十分に近い場合、先に出された答えが勝ちです。 例 コードで処理できる入力と出力の例を次に示します。 F("1010101", 2, 10, "0123456789") > 85 F("0001010101", 2, 10, "0123456789") > 85 F("85", 10, 2, "0123456789") > 1010101 F("1010101", 10, 2, "0123456789") > 11110110100110110101 F("bababab", 2, 10, "abcdefghij") > if F("10", 3, 2, …

30
除外して追加
仕事 タスクは非常に簡単です。数字、大文字、小文字を含む空でない文字列が与えられた場合、残りの数字の合計を出力します。例えば: a1wAD5qw45REs5Fw4eRQR33wqe4WE すべての文字を除外すると、次のようになります。 1 5 45 5 4 33 4 これらの数値の合計は1 + 5 + 45 + 5 + 4 + 33 + 4 = 97です。したがって、出力はになります97。 テストケース a > 0 0 > 0 5 > 5 10 > 10 a0A > 0 1a1 > 2 11a1 > 12 4dasQWE65asAs5dAa5dWD > …

5
XORプライムを見つける
では、この課題 XNORによってもたらされる、我々はXOR乗算を実装するように求めていました。この課題の目標は、最初のnXORプライムを見つけることです。XORプライムは、次の定義からわかるように、通常のプライムに非常に似ています。 素数の定義: 1とそれ自体の乗算を除き、2つの数値の乗算では形成できない1より大きい正の数。 XOR Primeの定義: 1とそれ自体のXOR乗算を除き、2つの数値のXOR乗算では形成できない1より大きい正の数。XORプライムはoeisシーケンスA014580を構成することに注意してください。 XOR乗算は、キャリーなしのバイナリロング乗算として定義されます。xnorのchallengeでXOR乗算の詳細を見つけることができます。 入力: 整数n。 出力: 最初のnXORプライム。 500以下のXORプライムは次のとおりです。 2 3 7 11 13 19 25 31 37 41 47 55 59 61 67 73 87 91 97 103 109 115 117 131 137 143 145 157 167 171 185 191 193 203 211 213 229 …

6
フラクタルシーケンスの収束和
バックグラウンド フラクタルシーケンスは、あなたがすべての整数の最初の発生を削除し、前と同じ配列で終わることができ整数シーケンスです。 このような非常に単純なシーケンスは、キンバリングの言い換えと呼ばれます。正の自然数から始めます。 1, 2, 3, 4, 5, 6, 7, 8, 9, ... 次に、いくつかの空白をリフルします。 1, _, 2, _, 3, _, 4, _, 5, _, 6, _, 7, _, 8, _, 9, ... そして、空白自体にシーケンス自体(空白を含む)を繰り返し入力します。 1, 1, 2, _, 3, 2, 4, _, 5, 3, 6, _, 7, 4, 8, _, 9, …

6
可分性関係の最大一致を見つける
正の整数のセットが与えられます。次のようなペアに配置する必要があります。 各ペアには2つの数字が含まれており、その1つは別の倍数です。たとえば、8は4の倍数で、9は9の倍数です。 初期セットで同じ数が何度も発生する場合、ペアで何度も使用できます。番号は、同じ番号の別の出現とペアにすることもできます 可能な最大数のペアが取得されます。 出力はペアの数でなければなりません。最短のコードが優先されます。 サンプルデータ 2,3,4,8,9,18 -> 3 7,14,28,42,56 -> 2 7,1,9,9,4,9,9,1,3,9,8,5 -> 6 8,88,888,8888,88888,888888 -> 3 2,6,7,17,16,35,15,9,83,7 -> 2

4
素朴な挑戦
この課題は、オリバーサックスの次の引用に触発されています。 「11歳のとき、「私はナトリウムです」と言うことができました(要素11)。現在79歳のとき、私は金です。」-オリバーサックス 文字列で数字を見つけて、対応する要素の記号に置き換えてほしい。(1はH、2はHe、3はLiなど)。従うべきいくつかのルールがあります。 通常、1桁と2桁は対応する要素に置き換えられます。数字の先頭の0は無視します。数字に0しかない場合は、無視してください。例えば、1 01 10 0 00となりH H Ne 0 00 2桁を超える数字は、2つのグループに分けられます。奇数桁の場合、末尾に余分な1桁が必要です。例えば、0153 5301 153なるHI IH PLiこの規則の、あなただけの1から99までの要素を知っている必要がありますので 数字は、それらを囲む文字に関係なく同じように扱われ、コンマと小数点は数字の一部ではありません。P90X 42,800 3.14159になるだろうPThX Mo,Hg0 Li.SiPF 入力/出力の例(I / O): I: 32289216 O: GeNiUS I: J08017 5811 O: JOHN CeNa I: M18227 0592tt10r O: MArTiN BUttNer I: De072816 O: DeNNiS I: D088r1907085 O: DOOrKNOB I: …

4
理想的な質問
理想的な質問は何ですか?おそらくそれは単に深遠な思考の抽象化であり、夢、希望、思考、…の初期化である(… 5,024.2文字は省略されている)。したがって、質問を定量化するためにこのような要因を見つけることを提案します。また、この因子をQ FまたはQ因子と呼ぶことを提案します。このように質問のQファクターを決定します。 (それを思い出してください。) 目的数値を入力として、PPCG.SEでそれぞれの質問のQファクターを決定します。質問が存在しない場合は、単に出力します;-;(泣いている感情表現)。 例えば、取ります。(この質問): この場合の正味の投票はを意味します。 views = 23435 net votes = 33 edits = 6 answers = 30, answers^2 = 900 comments = 19 charsIOPN = "Joe Z.".length = 6 そう: r_F = 6 / 6 = 1 Q_F = r_F * (23435 * 33 + 6) / …
16 code-golf  math  number 

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