問題タブ [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 投票する
8 に答える
278513 参照

python - Pythonでのパーセント記号の意味

チュートリアルには、素数を見つけるための例があります。

ダブル==は平等のテストであることは理解していますが、その部分はわかりませんif n % x。私が口頭で各部分を歩き、例に対してステートメントが何をするかを言うことができるように。しかし、パーセント記号がどのように分類されるのかわかりません。

if n % x実際に何を言いますか?

0 投票する
22 に答える
13829 参照

c - 25を法として計算するための効率的な(サイクルに関して)アルゴリズム?

x%25を計算しているコードがあります。xは常に正の値を取りますが、ダイナミックレンジが大きくなっています。

私は、ax%25を計算するこの特定のコード部分が大きなサイクルを取っていることを知りました。最適化する必要があります。

テーブルのメモリサイズが大きくなる可能性があるため、事前に計算されたルックアップテーブルは除外されます。

2番目のアプローチとして、以下のフラグメントをコーディングしました(Cコード)-

1.)このコードをサイクルごとにさらに最適化するにはどうすればよいですか(最大に絞る)?

2.)x%25を達成するためのまったく異なる最適化された方法はありますか(私はそれが一般的な操作ではないことを知っていますが、それでも、人々が私を悩ますかもしれない彼らの経験で使用したかもしれない巧妙な入力を探しています。)

ありがとうございました。

-広告

編集:

Cでネイティブのモジュロ演算子%を使用すると、内部で除算演算(/)を使用しますが、これは使用しているプロセッサでコストがかかります(div命令なし)。したがって、カスタム実装が%演算子を使用して固有の計算を打ち負かすことができるかどうかを確認しようとしています。

-広告

0 投票する
11 に答える
8397 参照

c# - 数値を手動で変更する簡単な方法

a と b の非常に大きな値に対して (a^b) % c を計算できるようにする必要があります (これらは個別に限界を押し上げており、a^b を計算しようとするとオーバーフロー エラーが発生します)。十分に小さい数の場合、単位 (a^b)%c = (a%c)^b%c を使用すると機能しますが、c が大きすぎる場合、これは実際には役に立ちません。mod 操作を 1 つずつ手動で行うループを作成しました。

しかし、これには非常に長い時間がかかります。実際に a を b 乗する必要がなく、かつ時間のかかるループを使用せずに、この操作を行う簡単で高速な方法はありますか? 他のすべてが失敗した場合は、巨大なデータ型を表す bool 配列を作成し、ビットごとの演算子でこれを行う方法を見つけることができますが、もっと良い方法が必要です。

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

python - コマンドラインでPython係数演算子をそのまま印刷する

コマンドライン上にモジュラス演算子を出力したい: たとえば、出力は次のようになります:
1%2
2%4

または
30%
40%

次のような print ステートメントを使用しています。

print 'computing %s % %s' % (num1, num2)

デフォルトのエラーをスローします:

TypeError: 文字列のフォーマット中にすべての引数が変換されるわけではありません

今のところ私は使用しています:

print 'コンピューティング 1'+'%'+'2'

これは次を印刷します:

1%2 を計算中

しかし、最初のアプローチを使用してこれを行う方法を教えてください(:print 'computing %s % %s' % (num1,num2))

0 投票する
14 に答える
128559 参照

c# - 負の数の Mod が脳みそを溶かす

ループするように整数を変更して配列位置を取得しようとしています。正i % arrayLengthの数の場合は問題なく動作しますが、負の数の場合はすべてうまくいきません。

だから私はの実装が必要です

そのような

私は前にこれをやったことがありますが、何らかの理由で今日は私の脳が溶けています:(

0 投票する
9 に答える
29135 参照

python - 奇数をチェックするとき、& は % よりも高速ですか?

奇数と偶数の整数をチェックするには、モジュロを使用するよりも最下位ビットのチェックの方が効率的ですか?

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

php - どういう意味ですか?expr1 = expr2 Mod expr3 = 0

そこで、VBA アプリケーションを PHP に移植していて、この素晴らしい小さなコードに出くわしました。

三項演算子のように振る舞っていると思っていましたが、単純な if then ステートメントに分解すると、結果は期待どおりではありませんでした。そこで、素晴らしいスタックオーバーフローコミュニティに助けを求め、わかりやすい言葉で説明してもらいました。他の回答を見ると、がっかりしないことがわかります。[/end Brown_nose>]

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

.net - f# 整数 float モジュラス 1.0 = 1.0?

わかりました、最初の関数は次のようになります。

これは float を取り、桁数を返します。その部分は正常に機能します。2 番目の関数は次のようになります。

これは float を取り、それを 1.0/(桁数) に等しい累乗に上げ、結果を取り、係数 1.0 を実行します。整数の場合、これはゼロでなければなりません。

したがって、droot 36 の場合、(36.0 ** (1.0/2.0)) が必要です。これは 6.0 であり、6.0 mod 1.0 は 0.0 に等しくなります。

これで、81.0 という数値を試すところまで問題なく動作します。(および動作するはずの 81 より大きいすべての数値) 何らかの理由で 1.0 を返し、パターン マッチングを無効にします。なぜこれが起こっているのか誰か教えてもらえますか?

PostScript: これは Project Euler ソリューションの一部です。問題がわかっている場合は、Project Euler のソリューションを投稿しないでください。モジュラスが面白い結果を返す理由を理解するのに助けが必要です