Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
109300 | 李承瀚 | 快速幂运算 | C++ | 通过 | 100 | 0 MS | 252 KB | 547 | 2023-11-08 13:24:42 |
#include <bits/stdc++.h> using namespace std; int sou(int x,int n){ if(n==0){ return 1; } if(n==1){ return x; } if(n==2){ return x*x; } if(n==3){ return x*x*x; } if(n%2==0){ return sou(x,n/2)*sou(x,n/2); } if(n%2!=0){ return sou(x,(n-1)/2)*sou(x,(n-1)/2)*x; } } int main() { int x; int n; int suo; while(scanf("%d %d",&x,&n)!=EOF){ suo=sou(x,n); printf("%d\n",suo); } return 0; }