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

WBOY
リリース: 2024-02-16 09:10:18
転載
1200 人が閲覧しました

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

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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!