大數運算 冪次方運算

2021-06-18 13:37:10 字數 593 閱讀 7533

// 以下演算法計算n的m次方

// m的定義域是[1,2^31],n的定義域是[0,65535]

// 原理就是按位相乘,處理進製

#include #include #include void main( void )

; std::vectorvecnum( 1, n ); // 用vector儲存大數,首位賦n

for ( int i = 0; i < m - 1; ++i, dr.quot = 0 ) // 每次將上次的商清零

// 下面的迴圈處理進製使位數增加的情況

for ( dr = div( dr.quot, 10 ); dr.quot || dr.rem;

dr = div( dr.quot, 10 ) ) vecnum.push_back( dr.rem );

} // 下面輸出,從最後的最高位開始

for ( std::vector::reverse_iterator rcur = vecnum.rbegin();

rcur != vecnum.rend(); ++rcur ) std::cout << *rcur;

}

大數冪運算

大數冪運算 源於poj1001題目 http acm.pku.edu.cn judgeonline problem?id 1001 mul singleint const string s1 int n 2.迴圈利用大整數加法計算大整數乘積 string mul int const string s...

大數求冪運算

題目 小明是個小學五年級的學生,為了早點去看自己愛看的 他想快點把作業做完。可是可惡的數學老師今天卻布置了一道難題,小明想了很久也不知道該怎麼做。你的任務就是幫小明解決掉這道數學題。題目是這樣子的,有乙個整數a 2 31 a 2 31 1 計算它的整數冪 a n,其中 1 n 99 第一行是乙個整數...

大數處理之二(冪運算)

對於冪運算來說,就是相同的幾個數相乘,改成大數處理問題,同樣可以轉化成兩個大數相乘問題,乘得的積作為乙個新數,再用這個新數與另乙個作積,這樣迴圈下去即可進行冪運算。對於兩個大數該如何處理 對於字串s1 100 中存放第乙個大數,s2 100 中存放第二個大數 定義兩個整型陣列 a 100 b 100...