C++基礎冪運算
阿新 • • 發佈:2018-11-16
C++ 大數運算(冪運算)
- 在C++中 int64 的最大值:9223372036854775807,所以不適合冪很大的運算。我們這裡可以轉換成字串的形式來表示,求 n 的 num 次方。
#include<iostream> #include<cstring> using namespace std; int main(int argc,char **argv){ int n,num; cin>>n>>num; string str = "1"; char ch[] = {'0','1','2','3','4','5','6','7','8','9'}; for(int i=0;i<num;i++){ int flag = 0; for(int j=str.size()-1;j>=0;j--){ int temp = str[j] - '0'; temp = n*temp + flag; flag = 0; if(temp > 9){ flag = temp/10; temp = temp%10; } str[j] = temp + '0'; } if(flag>0) str = ch[flag] + str; } cout<<str; return 0; } }