ホームページ > 記事 > システムチュートリアル > アルゴリズム - ロシア語の乗算
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>
シン>>n>>m;
for(int i=n>>1;i>=1;i=i>>1)
{
m=m
以上がアルゴリズム - ロシア語の乗算の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。