問題タブ [biginteger]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C ++で大きな数の7による除算を確認するにはどうすればよいですか?
与えられた数が7で割り切れるかどうかを確認する必要があります。これは通常、のようなことを行うだけで実行されn % 7 == 0
ますが、問題は、与えられた数が最大100000000になる可能性があり、これはに収まらないことlong long
です。
もう1つの制約は、使用可能なメモリが数キロバイトしかないため、配列を使用できないことです。
1
数値はstdinにあり、出力は/になると予想しています0
。
これは例です
約7つの整数変数とを使用して実行できるはずですcin.get()
。また、標準ライブラリのみを使用して実行する必要があります。
java - java.math.BigIntegerの問題
メソッドの先頭に次のコードがあります。
これは、minを値(1 * 2 * 3 * ... * 199 * 200)にロードしてから、triNumをminより大きい値を持つ最初の*三角数**に設定することになっています。
問題は、メソッドを実行すると、画面を下にスクロールするたびに「triNum:0」のリストが表示されたターミナルウィンドウだけが表示されることです...コードに何も表示されません(完全に可能ですが、作成しました)いくつかの間違いがあり、私はmath.BigIntegerに少し慣れていません)、これはBigIntegerクラスを指しているようです。誰かが私のコードにバグを見ますか?
.................................................。 .................................................。 .....................。
*三角数は、1 + 2 + 3 + 4 + 5 + 6 + 7+..が到達できる数です。
c# - BigIntegerは不変ですか?
.NET 4ベータ2には、。を含む新しいNumerics名前空間があり struct BigInteger
ます。ドキュメントには、私が予想したように、それは不変のタイプであると記載されています。
しかし、私はポストインクリメント演算子(++
)に少し混乱しています。これは間違いなく値を変化させるようです。次のwhileループが機能します。
これは、MSDNがインクリメント演算子について言っていることです。
BigIntegerオブジェクトは不変であるため、Increment演算子は、valueで表されるBigIntegerオブジェクトよりも値が1大きい新しいBigIntegerオブジェクトを作成します。したがって、Incrementを繰り返し呼び出すと、コストがかかる可能性があります。
うまくいっていれば、使用する必要があるかどうかは理解できたはずですが 、値を変更するにはb = b++
、明らかにそれだけで十分です。++
何かご意見は?
scala - 任意のバイト配列 (Scala) で BigInt を構築できますか?
MD5 ハッシュの結果を可能な限り短い文字列で表現しようとしています。単純に 16 進文字列にして、G から Z までを無駄にするのはもったいないようです。
私が持っていた 1 つのアイデアは、入力の MD5 ハッシュをバイト配列として取得し、それを使用して を構築するBigInt
ことです。次に、 を呼び出しtoString(36)
て、数値を文字列の base-36 として取得-?[0-9a-z]*
できます ( 、数値は正または負の値になります)。わたしにはできる。
問題は、任意のバイト配列で a を構築できるかどうか確信が持てBigInt
ず、テストでそれを証明できないことです (少なくともタイムリーな方法ではありません!)。BigInt は任意のサイズになる可能性があることを理解しているため、そう思います。この方法は、考えられるすべての出力で機能することが確実にわかるまで使用できません。それで、それがすべての入力に対して機能するかどうか(またはバイト配列を簡単に変換してbase 36で表現できるようにする方法)を教えてください。
明確化: 私は実装を持っています。ドメイン全体の動作について質問しています (つまり、00000000000000000000000000000 から FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)
java - Java /ScalaBigInteger貼り付け
JavaBigInteger
クラスに問題があります。大きな値をに貼り付けることができませんBigInteger
。BigInteger
たとえば、次の番号にを割り当てたいとします。
コンパイラは整数と見なすため、直接割り当てることはできません。
しかし、私はそれをにしたいと思いますBigInteger
。これをソースコードに直接貼り付ける方法はありますか?
そのような方法がない場合、BigInt
クラスをはるかに使いやすいScalaに方法はありますか?
java - BigInteger の使い方
私はこのコードを持っていますが、動作していません:
sum 変数は常に 0 です。何が間違っていますか?
java - JavaBigInteger素数
BigInteger型の乱数を生成しようとしています。これは、指定した最小値と最大値の間にあります。
BigInteger.probablePrime(int bitlength、random)を知っていますが、ビット長が出力された素数の最大/最小値にどのように変換されるか、または変換されるかどうかはわかりません。
ありがとう、Steven1350
c++ - 大きな数の割り算
大きな整数 (128 ビット) を処理できる除算アルゴリズムが必要です。ビットシフト演算子を介してそれを行う方法をすでに尋ねました。ただし、私の現在の実装では、より良いアプローチが必要なようです
基本的に、数字を 2long long unsigned int
の形式で保存します
A * 2 ^ 64 + B
とB < 2 ^ 64
。
この数は で割り切れる24
ので、 で割りたいです24
。
私の現在のアプローチは、それを次のように変換することです
ただし、これはバグです。
(floor はA / 24
であり、mod
はであることに注意してくださいA % 24
。通常の除算は に格納されlong double
、整数は に格納されlong long unsigned int
ます。
24
はバイナリで等しいので11000
、2 番目の被加数は 4 番目の加数の範囲内で何かを変更してはなりません。これは、64 ビット左にシフトされるためです。
したがって、A * 2 ^ 64 + B
が 24 で割り切れ、B が割り切れない場合、非整数を返すため、バグがあることが簡単にわかります。
私の実装のエラーは何ですか?
c++ - C++の大きな整数
この質問は、おそらくこのフォーラムやWebでも何度も聞かれていることを私は知っています。C ++で大きな整数の実装を作成するように求められますが、コンストラクターの1つが引数としてintを取る必要があるという制約があります...したがって、デフォルト以外のコンストラクターが複数あると思います。 。だから私の質問は、これを行う最も簡単な方法は何でしょうか?
c++ - 固定長の大きな整数
大きな整数のライブラリを探していますが、幅は固定されています (128 または 256 で十分です)。その理由は、ヒープに割り当てたくないからです。私はそれらを自分で作ろうとしましたが、効率的な方法で乗算、除算、剰余を実装するのはかなり面倒です。
これはすでにどこかに存在しますか?
ありがとう