ホームページ  >  記事  >  システムチュートリアル  >  アルゴリズム - ロシア語の乗算

アルゴリズム - ロシア語の乗算

WBOY
WBOY転載
2024-02-16 09:10:181248ブラウズ

アルゴリズム - ロシア語の乗算

2 つの正の整数を乗算する非主流のアルゴリズム

n と m が 2 つの正の整数であると仮定し、n*m を計算し、n の入力をインスタンス サイズの尺度として使用します。

n が偶数であると仮定すると、元のサイズの半分のインスタンスは n/2 (n*m=n/2 * 2m

) を処理する必要があります。

n が奇数であると仮定すると、n*m=(n-1)/2 * 2m

という式を簡単に調整するだけで済みます。

そして、終了条件として 1*m=m を使用します。

例を書き留めると、現在の n 値がすべて奇数の場合、n*m の積を取得するには、対応する m 値を加算するだけでよいことがわかります。

例: 50*65=25*130=12*260 (130)=6*520=3*1040=1*2080===2080 1040 130=3250

コードの実装を始めましょう:
####含む ###### 名前空間 std を使用します; <iostream>int main()<br> {</iostream>

int n,m,mul=0;

シン>>n>>m;
for(int i=n>>1;i>=1;i=i>>1)
{
m=m


以上がアルゴリズム - ロシア語の乗算の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlinuxprobe.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。