問題タブ [modulo]

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 投票する
10 に答える
151559 参照

math - 大きな数のモジュラスを計算する方法は?

電卓をあまり使わずに 5^55 モジュラス 221 のモジュラスを計算するにはどうすればよいですか?

そのようなことを計算するための暗号の数論には、いくつかの簡単な原則があると思います。

0 投票する
6 に答える
27814 参照

c++ - C++での多数のべき乗剰余

そのため、私は最近、ミラーラビン素数性テストの実装に取り​​組んでいます。これは、c ++に慣れるために行っている楽しいプロジェクトであり、64ビットで作業する必要がないため、すべての32ビット数値のスコープに制限しています。しばらく。追加のボーナスは、アルゴリズムがすべての32ビット数に対して決定論的であるということです。したがって、テストする監視対象を正確に知っているので、効率を大幅に向上させることができます。

したがって、数値が小さい場合、アルゴリズムは非常にうまく機能します。ただし、プロセスの一部はべき乗剰余、つまり(num ^ pow)%modに依存しています。したがって、たとえば、

これが、このべき乗剰余に使用しているコードです。

すでにお察しのとおり、引数がすべて非常に大きい場合に問題が発生します。たとえば、番号673109の素数性をテストする場合、ある時点で次のことを見つける必要があります。

(2 ^ 168277)%673109

現在、2 ^ 168277は非常に大きな数であり、プロセスのどこかでテストがオーバーフローし、誤った評価になります。

逆に、次のような議論

4000111222 ^ 3%1608

また、ほとんど同じ理由で、正しく評価されません。

このオーバーフローを防止したり、正しい結果を生成するように操作したりできる方法で、べき乗剰余の提案がある人はいますか?(私の見方では、オーバーフローはモジュロの別の形式、つまりnum%(UINT_MAX + 1)です)

0 投票する
4 に答える
6231 参照

java - Python と Java の Modulus 実装の違い

Python と Java でモジュラス演算子の実装が異なることに気付きました。

たとえば、Python では次のようになります。

一方、Java では:

モジュラスと同じくらい基本的なものは普遍的に同じように解釈されると思っていたので、これは私を不意を突かれた. 私は Python の解釈のファンです (これは C から借用したものだと思います) が、Java の実装の背後にあるロジックは理解しています。

あなたは通常、どちらを好みますか? 解釈の違いには何か特別な理由があるのでしょうか? 私は言語戦争を始めるつもりはありません。単に興味があります。

0 投票する
5 に答える
1128 参照

math - モジュラスを使用すると、高い数値が優先されますか?

0〜32の範囲で6つの乱数を追加し、結果にモジュラスを実行すると、高い数値が優先されますか?

例:9 +10 +11 +18 +25 +28 +32 = 133%20 = 13

0 投票する
4 に答える
1369 参照

c++ - 塩基変換問題

現在、整数を文字列に変換しようとしていますが、問題が発生しています。

私はコードを書き、ほとんどの部分で動作するようになりましたが、次の場所に運ぶときに小さな欠陥があります。説明するのが難しいので、例を挙げます。小文字のアルファベットで構成される文字セットで base 26 を使用する:

0 = "a"
1 = "b"
2 = "c"

...

25 = "z"
26 = "ba" (これは "aa" に等しくなければなりません)

特定の状況で、文字セットのゼロの位置にある文字をスキップするようです。

私を混乱させているのは、自分のコードに何も問題がないことです。私はこれにあまりにも長い間取り組んできましたが、まだ理解できません。

関数がゼロを返すモジュロでつまずいているような気がしますが、これに長い間取り組んできたので、それがどのように起こっているのかわかりません。どんな提案でも大歓迎です。

編集:生成された文字列がリトルエンディアンであるという事実は、私のアプリケーションには関係ありません。

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

php - モジュラスPHPの問題

問題があります。数値の最低素数を計算しようとしていますが、PHPが提供する結果がわかりません。

この番号を持っていれば

それから私はそれをモジュラスします:

$ value = 3なのはなぜですか?$ value = 3の場合、600851475143/3は整数である必要がありますが、そうではないことを意味します。それで、なぜそのif()がtrueと評価されるのか理解できませんか?

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

time - モジュラスを使用した戻り時間コンポーネント

誰かが1シフトで20時間42分16秒、合計74536秒を実行します。その人がそのシフトのために行った秒数から時間を取得するにはどうすればよいですか?

すでに84600を試しました。数値がモジュラスよりも低い場合、それは実際にはあまり役に立ちません。誰かが数秒間サインインするだけで、私がキャッチしなければならないことがあります...

0 投票する
6 に答える
7682 参照

objective-c - Objective-C のモジュロ演算子が間違った結果を返す

Objective-C でモジュロ演算を行ったときに得られる結果に、私は少しびっくりしています。-1 % 3 は -1 になりますが、これは正しい答えではありません。私の理解では、2 になるはずです。-2 % 3 は -2 になりますが、これも正しくありません。 1になります。

正しい結果を得るために % 演算子以外に使用すべき別の方法はありますか?

0 投票する
4 に答える
3084 参照

modulo - C ++で大数除算の残りを見つける方法は?

C++ の係数について質問があります。私がやろうとしていたのは、非常に大きな数を割ることでした。たとえば、M % 2 としましょう。ここで、M = 54,302,495,302,423 です。ただし、コンパイルに行くと、整数の場合は「長い」と表示されます。次に、ダブルに切り替えると、同じエラーメッセージが繰り返されます。この非常に大きな数の残り、またはさらに大きな数を取得する方法はありますか? ご協力いただきありがとうございます。

0 投票する
7 に答える
629 参照

numbers - 「ほぼ割り切れる」

浮動小数点値が 32 の「ほぼ」倍数であるかどうかを確認したい。たとえば、64.1 は 32 で「ほぼ」割り切れ、63.9 も「ほぼ」割り切れる。

今、私はこれをやっています:

これを行うためのより良い方法がありますか?