时间限制: 1000 ms 内存限制: 65536 KB
提交数: 65760 通过数: 45145
【题目描述】
给出一个整数aa和一个正整数n(−1000000≤a≤1000000,1≤n≤10000)n(−1000000≤a≤1000000,1≤n≤10000),求乘方anan,即乘方结果。最终结果的绝对值不超过10000001000000。
【输入】
一行,包含两个整数aa和nn。−1000000≤a≤1000000,1≤n≤10000−1000000≤a≤1000000,1≤n≤10000。
【输出】
一个整数,即乘方结果。题目保证最终结果的绝对值不超过1000000。
【输入样例】
2 3
【输出样例】
8
不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制不要复制
代码部分
水
#include <iostream>
using namespace std;
int main()
{
int a,n,s=0;
cin>>a>>n;
for(int i=1;i<n;i++)
{
if(s==0)
{
s=a;
}
a=a*s;
}
cout << a << endl;
return 0;
}
该代码实现了一个简单的快速幂运算算法,用于在给定一个整数`a`和正整数`n`的情况下,计算`a`的`n`次方。代码通过循环将指数n逐步分解,每次将结果乘以前一次的乘积,有效地减少了乘法操作的次数。最终输出的乘方结果在题目所给的限制范围内。
2438

被折叠的 条评论
为什么被折叠?



