1026 数幂运算
题目描述 Description
计算一个数a的N次方称为数幂运算,记为a^N。
输入描述 Input Description
输入一行,分别为整数a和正整数N,以一个空格隔开。
(-1000000 <= a <= 1000000,1 <= N <= 10000。)
输出描述 Output Description
输出一个整数,即幂运算a^N的结果,并保证最终结果的绝对值不超过1000000,若超过1000000,则输出“Output Exceeded!”
样例输入 Sample Input
2 3
样例输出 Sample Output
8
长整形 a,b; 输入>>a>>b; sum=pow(a,b); if判断(sum<=1000000&&sum>=-1000000) cout<<sum; 否则 cout<<"Output Exceeded!";
求采纳
长整形=long long
这道题只需一个一重循环即可,循环前判断一下N是不是0,因为任何数的0次方都是0(不懂的话可以上百度搜,七年级下册第一单元的)
循环从1~N,每次乘a并记录即可
伪代码:
if(N==1) {cout<<1; return0;}
for 1~N
x=a*x(x初始值为1)
然后还要判断一下有没有超出那个1000.....的
if(abs(s)>100.....) cout<<".... ";
for(int i=1;i<=n;i++)
{
s*=m;
}
求m的n次方
此处s的初始值为1
在使用abs函数计算绝对是否超过1000000,如果超出输出“Output Exceeded!”
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long s;//s是储a^n的,因为pow函数太大的整数算不了,要用long long长整形来储存
int a,n;
cin>>a>>n;
s=pow(a,n);//pow(a,b)代表a^b
if(s<=10000000&&s>=-10000000)//根据题目要求
cout<<s;
else cout<<"Output Exceeded!";
return 0;
}