問題タブ [modular-arithmetic]

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.

0 投票する
2 に答える
268 参照

c - C 式における剰余演算とビットごとの AND の間のリンク

ビットごとのロジックを使用して気の利いたモジュラー算術演算を実行する C スニペットに出くわしました。

c の値は、a+b より大きい b の最小倍数です (John Bollinger の回答に応じて編集)。私はこれがどのように機能するかを自分自身に説明しようとしています (剰余算術と & 演算がどのように関連している可能性があるかについてはほとんど理解していません) が、洞察が不足しています。一方、私はそれを次のように表現できるようです

この表現はわかりやすい。しかもモジュラーの登場とは?操作は、個々の部分をビットごとのロジックとして表現し、何らかの方法で上部の式に還元できることを示唆しています。しかし、どのように?誰かが試してみたい場合は、演習として残します (これは宿題ではありません)。実装は C である必要はありません。これを説明するオンライン参照がある場合は、それを提供しても構いませんが、完全な回答にはなりません。下から上の表現への移行を明確なステップで見たいです...

コメント このリンクは、b が 2累乗である場合に適用される可能性があることを示唆しています。

式で、を に置き換えることができると仮定します。ここで、は表現...&(-b)で可能な int の総数です。 (-b)(nums(int)-b)nums(int)

好みのコンパイラ/C バージョンを自由に指定してください。

サンプルコード:

出力例:

0 投票する
2 に答える
50 参照

assembly - これらの指示が求めていることを理解し、アセンブリでこれを記述する方法を知っている人はいますか?

問題- Intel86 シミュレーターを使用して、3 つの 1 バイト数値 X、Y、および Z (1<X,Y,Z<100)を指定して、モジュラーべき乗 X^y mod Z を計算するコードを記述します (例、X=4、Y=3、Z=5 結果 = 4)。 . X、Y、および Z は、プログラムのメモリ位置 107H、108H、および 109H にあるため、これらのバイトを命令に使用しないように注意してください。計算の結果は DL に保存する必要があります。べき乗剰余 X^y mod Z の計算に使用するアルゴリズム コードは d,1 です。Y がビット Yk、Yk-1、Yk-2、...Y0 で表されると仮定します j <-- k がゼロまで d <-- (d d) % Z IF Y1 == 1 then d <-- (d X) % Z 結果は d にあります。

0 投票する
1 に答える
1534 参照

language-agnostic - c、e、nがわかっている場合、c = m^e(mod n)でmを見つける方法

Java BigInteger c、e、および n を知っているとします。BigInteger m をすばやく計算する方法はありますか。

0 投票する
2 に答える
1266 参照

c++ - 非常に大きな数の累乗を計算して保存する

私は範囲pow(2,i)がどこにあるかを見つけていiます:0<=i<=100000. 離れiて MOD=1000000007 を持っています

i=100000電力値が MOD より大きくなることはありませんか?

電力を正しく蓄えるにはどうすればよいですか?

手術は私には実現不可能に見えます。私はi=70推測する最大まで正しい値を取得しています。

sum+= ar[i]*power(2,i) を見つけて、最後に sum%1000000007 を出力する必要があります。ここで、ar[i] は最大 10 ^ 5 までの大きな数値を持つ追加の配列です。

0 投票する
1 に答える
341 参照

c - どのように - 5%3 が - 2 に等しいか?

私は今Cの基礎を学んでいます。少し混乱している質問があります。
私の質問は、以下のプログラムの出力がどのようになるかです - 2 ?

0 投票する
1 に答える
3825 参照

python - Sympy: 有限体で行列を解く

私のプロジェクトでは、行列 Y と K を指定して行列 X を解く必要があります。(XY=K) 各行列の要素は、ランダムな 256 ビット素数を法とする整数でなければなりません。この問題を解決するための最初の試みは、SymPy のmod_inv(n)関数を使用しました。これに関する問題は、約 30 のサイズの行列でメモリが不足していることです。次に考えたのは、行列の因数分解を実行することでした。ただし、SymPy には、数を法とする行列を見つけることができるソルバーが含まれていないようです。使用できる回避策や自作のコードはありますか?

0 投票する
3 に答える
86 参照

python - 作成した関数が動作しない (Python)

私はPythonにかなり慣れていないので、それを使ってスターン・ブロコット列のn番目の項を計算するプログラムを作成しようとしました(それを調べることができます。それが私の関数がSBSeqと呼ばれている理由です)。何らかの理由で機能せず、次のようなエラーが発生します。

最終的にはこれになります:

これが元のコードです。

どんな助けでも大歓迎です!