源**
俄式乘法,又被稱為**農夫法,它是對兩個正整數相乘的非主流演算法。假設m和n是兩個正整數,我們要計算它們的積。它的主要原理如下: if n is 偶數 n m=n/2 2m else n * m=(n-1)/2 + m 該演算法只包括折半,加倍,相加等幾個簡單操作,因此實現速度非常快。具體計算如下圖所示:
兩個正整數 n,m。
n和m的乘積。輸出整個求和表示式,運算子與數字之間用乙個空格隔開。
50 65
130 + 1040 + 2080 = 3250
#include
using
namespace std;
intcalculate
(int n,
int m)
n = n /2;
m =2* m;
} s +
= m;
cout << m <<
" "<<
"="<<
" "<< s << endl;
return0;
}int
main()
swustoj合併果子
在乙個果園裡,多多已經將所有的果子打了下來,而且按果子的不同種類分成了不同的堆。多多決定把所有的果子合成一堆。每一次合併,多多可以把兩堆果子合併到一起,消耗的體力等於兩堆果子的重量之和。可以看出,所有的果子經過n 1次合併之後,就只剩下一堆了。多多在合併果子時總共消耗的體力等於每次合併所耗體力之和。...
swustoj 木材加工 0436
木材廠有一些原木,現在想把這些原木切割成一些長度相同的小段木頭 並不是所有原木都一定要用完,可以有剩餘 需要得到的小段的數目是給定的。當然,我們希望得到的小段越長越好,你的任務是計算能夠得到的小段木頭的最大長度。木頭長度的單位是cm。原木的長度都是正整數,我們要求切割得到的小段木頭的長度也是正整數。...
單鏈表的鏈結 swust oj
單鏈表的鏈結 1000 ms 65535 kb 2923 9780 建立長度為n的單鏈表a和長度為m的單鏈表b。程式設計實現將b表鏈結在a表的尾端,形成乙個單鏈表a。資料型別指定為字元型。輸入第一行為a表的長度n 第二行為a表中的資料元素 第三行為b表的長度m 第四行為b表中的資料元素。輸出輸出為鏈...