首頁 >系統教程 >Linux >演算法——俄式乘法

演算法——俄式乘法

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB轉載
2024-02-16 09:10:181317瀏覽

演算法——俄式乘法

兩個正整數相乘的非主流演算法

假設n和m是兩個正整數,計算n*m,現在用n的輸入作為實例規模的度量標準。

假設n是偶數,一個規模為原來一半的實例必須要對n/2處理,n*m=n/2 * 2m

假設n是奇數,只需要對公式進行簡單調整,n*m=(n-1)/2 * 2m

並且使用1*m=m作為終止條件。

我們寫下來一個例子就會發現:所有目前n的值是奇數時候,只需要相加對應的m值即可得到n*m的乘積。

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

下面我們就開始下程式碼實作:
#include <iostream><br> using namespace std;</iostream>

int main()
{
int n,m,mul=0;
cin>>n>>m;
for(int i=n>>1;i>=1;i=i>>1)
{
m=m

以上是演算法——俄式乘法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:linuxprobe.com。如有侵權,請聯絡admin@php.cn刪除