这题我在考试的时候是100,为什么在这只有40
这题不难,但是容易陷入思维陷阱中。就是说,c++中的<cmath>头文件有直接算出乘方的 pow 函数,但是很明显在这里不能直接用。这里的结果很可能会超过10^18,就会输出乱码。因此我们可以定义一个函数panduan,返回值是long long(结果小于等于10^9),里面是a和b,也是long long.代码如下:
#define ll long long
ll panduan(ll a,ll b){
ll ans=1;
for(ll i=1;i<=b;i++){
ans=ans*a;
if(ans>1000000000) return -1;
}
return ans;
}
然后就可以了,完整代码交给读者自行锻炼