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

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

12
ASCII Maya番号
入力として正の整数を指定すると、Maya数字でその整数の表現を出力するプログラムまたは関数を記述します。 マヤの数字 Mayaの数字は、3つのシンボルのみを使用した仮想システム(基数20)です。 < >以下のためにゼロ(正しい記号を容易ASCIIを使用して表すことができないシェルのいくつかの並べ替えです)。 .以下のための一つ ----以下のためのファイブ 数値は20の累乗で垂直に書き込まれ、0〜19の数値は5と1のスタックとして書き込まれます。詳細については、Wikipediaの記事を参照してください。 例として、0から25までの数字をコンマで区切って示します。 . .. ... .... . .. ... .... ---- ---- ---- ---- ---- . . . . . . . .. ... .... ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- < >, . , .. ,... ,....,----,----,----,----,----,----,----,----,----,----,----,----,----,----,----,< >, …

7
ベースプルーフ式の出力
バックグラウンド いくつかの可能な未来では、世界は彼らの数値システムを10進数(基数10またはb10)から他の基数(2 b2進数b8、8進数、16進数b16、さらには単項b1に変換します。したがって、この世界を変える可能性のあるイベントに備えて、すべてのプログラムをベースプルーフすることにします。これは、単数0のsと1s のみを演算子と組み合わせて使用​​して、既存の数値定数を置き換えることで実行できます。 ただし、問題が1つだけあります。変更するプログラムが大量にあり、各数値を手動で式に変換するには数週間かかります。したがって、プログラム(または関数)を作成して、各式を置き換える式を決定します。 入力 入力は正の整数になります。コードは 1000までの整数を処理できる必要があります。 (コードが小数および/または負の入力をサポートしている場合は、以下のスコアリングを参照してください。) 出力 コードは、少なくとも1つの言語で入力に評価される式を出力する必要があります。これはどの言語でもかまいません。プログラムまたは関数が記述されているものと同じである必要はありません。また、この式は完全なプログラムまたは関数である必要はありません。 明確にするために、出力には次の操作のいずれかが含まれる場合があります。 インクリメント/デクリメント 加算/合計 減算/否定 乗算/倍数(数値が直接関与しない場合のみ2!) 除算/モジュロ 指数/対数 square / sqrt(これも数値に直接関係しない場合のみ2!) ビット演算(bOR、bAND、bNOT、bXOR、ビットシフト) 変数の設定/取得 スタック操作 出力で、または同様の機能を使用することはできませんeval()。また、上記以外のアクションを実行する関数を出力で使用することはできません。 ああ、もう一つ:私たちは出力が可能な限り多くの拠点として有効であることにしたいから、それが含まれていてもよいだけの数の定数である0と1。10言語がa 1およびa として解釈しない限り、(10)などの数字は許可されません0。などCJamのような文字使用され、いずれかの許可されていない番号を格納する文字列を使用してA- K(表します10- 20)。 テストケース (すべての出力はJavaScriptですが、他の言語でも機能する場合があります。) 入力1: 2 可能な出力1: 1+1 入力2: 13 可能な出力2: (a=1+1+1)*a+a+1 入力3: 60 可能な出力3: (b=(a=1+1+1+1)*a)*a-a 入力4: 777 可能な出力4: (c=(b=((a=1+1+1+1)*a-a+1)*a)*a+b)+c+c-a+1 入力5: 1000 …

9
Collat​​z Cousinsの計算
次のように、正の整数nに対して関数f(n)を定義します。 n / 2、nが偶数の場合 3 * n + 1、nが奇数の場合 この関数を0より大きいnに繰り返し適用すると、結果は常に1に収束するように見えます(まだ誰も証明できていませんが)。このプロパティはCollat​​z予想と呼ばれます。 整数の停止時間を、1に達するまでCollat​​z関数fを通過する必要がある回数として定義します。最初の15個の整数の停止時間は次のとおりです。 1 0 2 1 3 7 4 2 5 5 6 8 7 16 8 3 9 19 10 6 11 14 12 9 13 9 14 17 15 17 Collat​​z cousinsと同じ停止時間で数字のセットを呼び出しましょう。たとえば、5と32はCollat​​zのいとこであり、停止時間は5です。 あなたのタスク:非負の整数を取り、その整数に等しい停止時間を持つCollat​​zのいとこのセットを生成するプログラムまたは関数を作成します。 入力 STDIN、ARGV、または関数引数を介して指定された非負の整数S。 出力 停止時間がSであるすべての数値のリスト。昇順でソートされています。リストはプログラムによって出力されるか、関数によって返されるか出力される場合があります。出力形式は柔軟性があります。スペース区切り、改行区切り、または言語の標準リスト形式は、数字が簡単に区別できる限りは問題ありません。 必要条件 提出は、S≤30に対して正しい結果を提供する必要があります。数時間または数日ではなく、数秒または数分で完了する必要があります。 …

6
中国の剰余定理
中国剰余定理は、我々は常に異なるプライムモジュラスの下に必要な残りを生産数を見つけることができることを教えてくれる。あなたの目標は、そのような数を多項式時間で出力するコードを書くことです。最短のコードが優先されます。 たとえば、これらの制約が与えられているとしましょう(%modを表します): n % 7 == 2 n % 5 == 4 n % 11 == 0 1つのソリューションはn=44です。最初の制約が満たされているのは44 = 6*7 + 2、で44割った2ときに余りがある7ため44 % 7 == 2です。他の2つの制約も満たされます。など、他のソリューションが存在するn=814とn=-341。 入力 空でないペアのリスト(p_i,a_i)。各モジュラスp_iは異なる素数で、各ターゲットa_iは範囲内の自然数です0 <= a_i < p_i。便利な形式で入力できます。実際にペアのリストである必要はありません。入力がソートされているとは限りません。 出力 整数nようにn % p_i == a_i各インデックスのi。このような最小の値である必要はなく、負の値でもかまいません。 多項式時間制限 ちょうどしようと安価なソリューションを防ぐためにn=0、n=1、n=2、というように、あなたのコードは、多項式時間で実行する必要があります入力の長さ。m入力の数値にはlength Θ(log m)があるため、それm自体の長さは多項式ではないことに注意してください。つまりm、操作m時間までカウントしたり操作したりすることはできませんが、値の算術演算を計算することはできます。 これを回避するために単項式のような非効率的な入力形式を使用することはできません。 その他の禁止 次を実行するためのビルトインは許可されていません。中国剰余定理の実装、方程式の解、または因子数。 組み込みを使用してmodを見つけ、モジュラー加算、減算、乗算、および指数(自然数指数を使用)を実行できます。モジュラー逆行列、除算、順序検索など、他の組み込みのモジュラー操作を使用することはできません。 テストケース これらは、最小の非負のソリューションを提供します。あなたの答えは異なる場合があります。出力が各制約を満たしていることを直接確認する方が良いでしょう。 [(5, 3)] …

11
ハウスドルフ距離の計算
前書き ハウスドルフ距離は、距離空間の2つのサブセットの間の差を測定します。直観的には、距離空間は組み込みの距離関数を備えた単なるセットです。この課題では、通常の距離の自然数を使用しますd(a, b) := abs(a - b)。二つの非空有限集合間のハウスドルフ距離AとBによって与えられます。 max(max(min(d(a, b) for b in B) for a in A), max(min(d(a, b) for a in A) for b in B)) Pythonのような表記法で。ハウスドルフ距離がの要素見つけることによって計算することができるAそのための最も近い要素までの距離がB最大との要素であるBの最も近い要素にする距離A最大であり、そして、これらの距離の最大値を取っています。ハウスドルフ距離が言い換えれば、d後のすべての要素は、A距離内にあるdいくつかの要素のB、およびその逆。 入力 入力は整数の単一リストです。それだけの要素が含まれ0,1,2,3、リストの指定されたインデックスは、どちらの要素であるかどうかを意味し、AでもB、のみA、のみB、または両方AとB。たとえば、0から始まるインデックスを使用する場合、入力[0,1,1,0,2,3]はA = {1,2,5}andを意味しB = {4,5}ます(メトリックは翻訳不変なので、違いはありません)。 出力 出力は、Aとの間のハウスドルフ距離Bです。上記の例では、です3。いずれかのセットが空の場合、距離は定義されていないため、を返し-1ます。 ルール 完全なプログラムまたは関数を作成できます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 テストケース [] -> -1 [0] -> -1 [0,1,0] -> -1 [2,0,0,2] -> …

6
タイムトラベリングストックトレーダー
ストーリー かなり前に、ボビーは1サトシ(1e-8 BTC、最小通貨単位)でビットコインウォレットを作成し、それを忘れていました。他の多くの人と同じように、彼は後に「くそー、もし私がもっともっと投資すれば...」。 空想にとどまらず、彼は時間とお金のすべてをタイムマシンの構築に捧げます。彼は自分の時間の大部分をガレージで過ごし、世間の出来事や彼についての噂を知らない。彼は、支払いを逃し、電気が切れようとする1日前にプロトタイプを完成させました。ワークベンチから見上げると、彼は警察のバンが彼の家に引っ張っているのを見ます。 テストを実行する時間がないため、彼は過去数年間の為替レートのデータをUSBスティックで取得し、Flux CapacitorをQuantum Discombobulatorに接続して、自分がウォレットを作成した日に戻されていることに気付きました。 タスク 為替レートデータが与えられたら、ボビーが稼ぐことができる金額を調べます。彼は非常に単純なルールに従います:「低価格で購入-高価格で販売」そして彼は無限に小さな資本でスタートするので、彼の行動は将来の為替レートに影響を与えないと仮定します。 入力 プログラムにコマンドライン引数として渡される、テキストファイルまたはSTDINから読み取られる、またはパラメーターとして渡される、単一の文字(改行、タブ、スペース、セミコロン、任意の文字)で区切られた文字列としての0以上のfloatのリスト関数に。文字列の代わりに数値データ型または数値配列を使用できます。これは、基本的に角括弧付きの文字列だからです。 アウトプット ボビーズの資本に取引の終了を掛けた係数。 例 Input: 0.48 0.4 0.24 0.39 0.74 1.31 1.71 2.1 2.24 2.07 2.41 為替レート:0.48 $ / BTC、下落しそうなため、すべてのビットコインを4.8ナノドルで販売します。係数= 1為替レート:0.4、何もしない 為替レート:0.24 $ / BTCおよび上昇:すべての$を2 Satoshisに変換します。係数= 1(ドルの値はまだ変更されていません) 為替レート:0.39-2.1 $ / BTC:何もしない 為替レート:2.24 $ / BTC:下落する前にすべてを売ります。44.8ナノドル、ファクター= 9.33 為替レート:2.07 $ / BTC:2.164 …

30
eの近似
eで表される、変数xの累乗に対するオイラーの数は、Maclaurin級数展開を使用して近似できることは誰もが知っています。 xを1に等しくすることにより、 チャレンジ 入力Nを取り込み、N番目の項までの系列を計算することにより、オイラーの数を近似する任意の言語でプログラムを作成します。最初の項の分母は0!であり、1!ではないことに注意してください。つまり、N = 1は1/0!に対応します。 得点 最小バイト数のプログラムが優先されます。

24
10ピンボウリングスコア-ワールドボウリングエディション
ワールドボウリングの得点 多くの人が地元のボウリングセンターに行ってボウリングのゲームを数回行っており、多くの人がスコアの計算に苦労しています。ワールドボウリングは、より多くの人々をスポーツに引き付けるために、単純化されたスコアリングシステムを導入しました。このスコアリングシステムは、国際的なゲームで利用されています。 スコアリングシステムは次のように機能します(Wikipediaから)。 「現在のフレームスコアリング」[32]と呼ばれるワールドボウリングスコアリングシステムは、次のようにピンを授与します。 ストライク:30(ロールの結果に関係なく) スペア:10プラス現在のフレームの最初のロールのピンフォール オープン:現在のフレームの合計ピンフォール 10ピンボウリングに慣れていない場合は、ここで要約します。 ボウリングレーンの端には10本のピンがあり、ゴールはそれらすべてをボウリングボールで倒すことです。ボールを2回ロールして、それらをすべてノックダウンしようとします。できれば、最初のロールでそれらをすべてノックダウンしてください(ストライクとして知られています)。ストライクをした場合、そのフレームは完成しているので、ボールをもう一度転がす必要はありません。ストライキは30の価値があります。 10個すべてをノックダウンしなかった場合、もう1回ロールします。残りのピンをすべてノックダウンすると、スペアとして知られています。スコアは10ピン+最初のロールでノックダウンされたピンの数に相当します。たとえば、7つのピンをノックダウンした場合、残りの3つをノックダウンできたので、17の価値があります。 2回目のロールの後、10個すべてをノックダウンできない場合、それはオープンフレームとして知られています。スコアは、そのフレームでノックダウンされたピンの総数に相当します。 ゲームには10個のフレームがあります。従来のボウリングスコアリングに精通している場合、ワールドボウリングスコアリングで10番目のフレームに余分なロールはありません。従来のボウリングスコアリングでは、300の完全なスコアを得るには12回連続でストライクが必要でしたが、ワールドボウリングスコアリングでは10回の連続ストライクしか必要ありません。 チャレンジ あなたの課題は、スコアシートから値を与えられたスコアを計算することです。 スコアシートでは、ミスはダッシュ(-)、ストライクはX、スペアはスラッシュ(/)で示されます。これらが当てはまらない場合、ピンフォールカウントは単に数字(1-9)で示されます。ファウルとスプリットもスコアシートに記録されますが、これらについて心配する必要はありません。 入力 各フレームのスコアで構成される文字列が与えられ、合計10フレームになります。各フレームには最大2つの値があり、ストライクが発生した場合は1つの値になります。入力は、関数への文字列パラメーター、ファイル、またはSTDINから読み取ることができます。 たとえば、最初のロールで1つのピンをノックダウンしてから2をノックダウンすると、フレームは「12」のようになります。これは12(12)を意味するのではなく、1と2を意味し、合計3です。 両方のロール(ガターボール)ですべてのピンを見逃した場合、この「-」(スコア0)のように見えます。 各フレームはスペースで区切られます。 サンプル入力 -- 9- -9 X -/ 8/ 71 15 44 X この例を分解するには、 フレーム1(-)-両方のロールが失敗しました。0点数 フレーム2(9-)-最初のロールで9をノックダウンし、2番目のロールでミスしました。スコア9 フレーム3(-9)-1回目はすべて逃し、2回目は9回逃しました。スコア9 フレーム4(X)-ストライク、10個すべてをノックダウン。スコア30 フレーム5(-/)-スペア、最初はすべてミス、2回目はすべてノックダウン。スコア10 + 0 = 10 フレーム6(8 /)-スペア、最初のロールに8ピン、2番目のロールで他の2つをノックダウン。スコア10 + 8 = 18 フレーム7(71)-オープンフレーム、最初のロールに7ピン、2番目のロールに1ピン。スコア7 + 1 …

16
表現をシグマ化する
知らなかった人のために、シグマ はギリシャ語の文字であり、数学で加算記号として頻繁に使用されます。を表す依存する式を表す文字列が与えられた場合、各について結果の合計を計算します。簡潔には、次のようなを見つける必要があります。kkkE(k)E(k)E(k)E(k)E(k)E(k)k∈{1,2,3,4,5}k∈{1、2、3、4、5}k\in\{1,2,3,4,5\}SSS S=∑k=15E(k)S=∑k=15E(k)S=\sum^5_{k=1}E(k) 式の例:E(k)=k2+k2E(k)=k2+k2E(k)=\frac k 2 + k^2 スペック あなたは保証されています: 式が有効であるため、エラーが含まれておらず、選択した構文に依存していること(例:サポートしている場合のみ2*k、なし2k) あなただけの結果の中で値が定義されているので、のように何の値に1/0、infまたはがnan表示されません 上記の式は、選択したプログラミング言語の制限に適合しているため、オーバーフローやその他の制限に関連するエラーは発生しません。 代わりに他の非空白ASCII文字をk選択できます プログラムは次の操作をサポートする必要があります。 さらに(+、plus()、add()、sum()) 減算(-、minus()、subtract()) べき乗(**、^、pow()負塩基および指数に支持して、または他の指定されなければなりません) 形で平方根sqrt(k)、k^0.5、k**0.5あなたが望む、またはしかし、他 乗算と除算 提出は、完全なプログラムまたは機能のいずれかであり、その使用法について言及しています 出力時に、後続の/先頭の空白は許可されます 最小精度:小数点以下2桁 テストケース(with k) +---------------+--------------+ | Input = E(k) | Output | |---------------+--------------| |2*k | 30 | |---------------+--------------| |sqrt(k) | 8.38 | (* with minimum decimal precision) |---------------+--------------| |k+k/2+k**2 …

9
レーベンシュタインの隣人
ほとんどの平方数には、そのレーベンシュタイン距離が正確に1 である少なくとも1つの異なる平方数があります。与えられた平方xxx、この条件を満たす各平方はxのレーベンシュタイン近傍と呼ばれます。たとえば、はレーベンシュタインネイバーです。1つの編集()のみが必要です。ただし、は最低2回の編集が必要なため、レーベンシュタインネイバーではありません。先頭に0が付いている数値()は、レーベンシュタインの隣人ではありません。xxx3636361616161→31→31 \to 36464641616162025→0252025→0252025 \to 025 あなたの仕事は、入力として平方数を取り、その合理的なフォーマットで、レーベンシュタインの隣人の完全なリストを出力することです。必要に応じて、リストにリピートネイバーを含めることができますが、元の入力は、それ自体のレーベンシュタインネイバーではないため、含めることはできません。 合理的な形式では、出力,や改行などの出力の間に何らかの区切り文字を含める必要があり、数字自体ではなく、対応するUnicode値(つまりBrainfuck)を持つ文字を出力できます。出力の順序は関係ありません。 この入力は、常により大きい平方数になり。プログラムには理論的な制限はありませんが、実際的な理由(たとえば32ビット数を超える)で大きな数で失敗する場合は、まったく問題ありません。000 入力にレーベンシュタインの隣人がいない場合、出力は何も出力しない、空の配列/文字列、負の整数、など、これを明確に反映する必要があります。000 これはcode-golfであるため、バイト単位の最短コードが優先されます。 テストケース これらはの正方形の結果です111にスルー202020: 1: 4, 9, 16, 81 4: 1, 9, 49, 64 9: 1, 4, 49 16: 1, 36, 169, 196 25: 225, 256, 625 36: 16, 361 49: 4, 9 64: 4 81: 1, 841 100: 400, 900, …

16
キューバのプライム
自然数を指定すると、番目のキューバプライムを返します。nnnnnn キューバのプライム キューバ素数は次の形式の素数です p=x3−y3x−yp=x3−y3x−yp = \frac{x^3-y^3}{x-y} ここで、およびまたはy>0y>0y>0バツ = 1 +yx=1+yx = 1+yx = 2 + yx=2+yx = 2+y 詳細 最適なものであれば、0または1ベースのインデックスを使用できます。 インデックスまたは最初の素数を昇順に指定して番目の素数を返すか、または素数を昇順で生成する無限リスト/ジェネレーターを返すことができます。nnnnnnnnn テストケース 最初のいくつかの用語は次のとおりです。 (#1-13) 7, 13, 19, 37, 61, 109, 127, 193, 271, 331, 397, 433, 547, (#14-24) 631, 769, 919, 1201, 1453, 1657, 1801, 1951, 2029, 2269, 2437, (#25-34) …

22
整数の回転位置
チャレンジ: 入力: 正の整数のソートされたリスト。 出力: 各整数の数字を左に向かってインデックスの回数だけ回転し、変更されたリストを再度並べ替えた後、まだまったく同じインデックスにある整数の量。 例: 入力:[8,49,73,102,259,762,2782,3383,9217,37846,89487,7471788] 出力(0ベースのインデックス付け):6 出力(1ベースのインデックス付け):5 どうして? 0ベースのインデックス付け: After rotating each: [8,94,73,102,592,276,8227,3338,9217,63784,89487,7887471] Sorted again: [8,73,94,102,276,592,3338,8227,9217,63784,89487,7887471] Input indices: 0 1 2 3 4 5 6 7 8 9 10 11 Original input-list: [8,49,73,102,259,762,2782,3383,9217,37846,89487,7471788] Modified list: [8,73,94,102,276,592,3338,8227,9217,63784,89487,7887471] Modified indices: 0 2 1 3 5 4 7 6 8 9 …

17
整数からの平方根距離
10進数が与えられた場合、の平方根が整数の範囲内にkなるnような最小の整数を見つけます。ただし、距離はゼロ以外である必要があり、完全な正方形にすることはできません。nkn 与えられkた10進数または分数(どちらか簡単な方)、など、の平方根と平方根に最も近い整数の差がゼロ以下で0 < k < 1あるnように最小の正の整数を出力する。nnk iがの平方根に最も近い整数である場合n、最初のnwhereを探しています0 < |i - sqrt(n)| <= k。 ルール 言語の整数以外の数値の不十分な実装を使用して、問題を単純化することはできません。 それ以外の場合はk、浮動小数点の丸めなどの問題が発生しないと想定できます。 テストケース .9 > 2 .5 > 2 .4 > 3 .3 > 3 .25 > 5 .2 > 8 .1 > 26 .05 > 101 .03 > 288 .01 > 2501 .005 > 10001 …

11
N行N列のボード上の騎士のグラフ
チェスでは、ナイトは、withでマークされた現在の位置に対してXでマークされた位置にのみ移動できます。 A ナイトのグラフは、チェス盤の騎士チェスの駒のすべての法的動きを表したグラフです。このグラフの各頂点はチェス盤の正方形を表し、各エッジは騎士が互いに離れている2つの正方形を接続します。 標準の8行8列のボードでは、グラフは次のようになります。 チャレンジ: 整数所与N、ここで3≤N≤8 、出力NバイNの各位置からの可能な移動の数が示されている基板を表す行列、。以下のためにN = 8、出力は、上記グラフの各頂点の値を示す行列であろう。 出力形式は柔軟です。リストのリストまたはフラット化されたリストなども受け入れられる形式です。 テストケースの完全なセット: --- N = 3 --- 2 2 2 2 0 2 2 2 2 --- N = 4 --- 2 3 3 2 3 4 4 3 3 4 4 3 2 3 3 2 --- N = 5 …

18
上ウィトオフまたは下ウィトオフ?
まず、Beattyシーケンスについて説明しましょう。正の無理数rが与えられた場合、正の整数をrに順番に乗算し、結果の各計算のフロアを取得することにより、無限シーケンスを構築できます。例えば、 r > 1の場合、特別な条件があります。s = r /(r -1)として別の無理数sを形成できます。これにより、独自のBeattyシーケンスB sを生成できます。巧妙なトリックは、B rとB sが相補的であるということです。つまり、すべての正の整数は、2つのシーケンスのうちの1つに正確に含まれます。 r = the(黄金比)を設定すると、s = r + 1と2つの特別なシーケンスが得られます。下WythoffシーケンスのためのR: 1, 3, 4, 6, 8, 9, 11, 12, 14, 16, 17, 19, 21, 22, 24, 25, 27, 29, ... そして、上側Wythoffシーケンスのための: 2, 5, 7, 10, 13, 15, 18, 20, 23, 26, 28, 31, …

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