
http://www.tensyo.com/urame/date/dayTips.htm#MOD
によると、除算を行わずに剰余を求める方法として、
-------------------------------------------------------
2^N>=b となるNを求める(2^N == 1<<N)
B=2^N-b
C=2^N-1
while(a>=2*b){ B *(a>>N) + a&C };
最後に1回 if(a>=b)a-=b ; と計算する
-------------------------------------------------------
とありますが、これの実装はおそらく誤植です。
というのも、4行目B *(a>>N) + a&Cは代入操作等をしていないため、
実質何もしていないからです。
そこで、a=B *(a>>N) + a&Cのように変更するなどやってみましたが、
5回に1回ぐらい異なる値が現れます。
このアルゴリズムはどのように変更したらよいでしょうか?
また、他の方法でも結構ですので、教えてください。
No.2ベストアンサー
- 回答日時:
a=B *(a>>N) + a&C;
じゃなくて
a=B *(a>>N) + (a&C);
だろう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語 3 2022/10/04 15:07
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- C言語・C++・C# C言語階乗の総和を求める 2 2023/03/04 23:31
- Excel(エクセル) エクセル 関数について質問です。 2 2022/10/03 11:14
- 数学 虚数単位:i、この4乗根を求める解答したものの疑問です。 1 2022/10/25 00:43
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- 工学 変圧器の短絡試験を行ったのですが、誤ってインピーダンス電圧を測定し忘れ、その他諸々の計算値が出せない 6 2022/07/03 01:11
- C言語・C++・C# C#の問題で2つの整数a,bの最大公約数(GCD)を求めるユークリッドの互除法は,aをbで割った余り 2 2022/06/26 16:52
- 統計学 t検定について教えてください 2 2023/02/23 16:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正しい五十音順について
-
[ EXCEL VBA ] 図形を読み込む...
-
グループを均等に分けるには?...
-
シードを考慮したトーナメント...
-
アルゴリズムとプロトコールの違い
-
期間重複チェックがわかりません
-
あいまい検索(文字列一致率)
-
C♯で電卓を作成しています。演...
-
お薦めのアルゴリズム参考書
-
ランダム関数を作りたい。
-
暗号化・復号化のアルゴリズム...
-
多変数関数の最小値を求めるプ...
-
ハッシュアルゴリズム
-
一般的な解法を用いないで魔法...
-
偏りのある乱数のアルゴリズム
-
BCDについて
-
アルゴリズムが全くわからない
-
データを圧縮したい
-
ドロネー三角形のプログラム
-
カオス解析のプログラムについて
おすすめ情報