P8813(CSP-J2022T1)题解
题意:算a ^ b,如果结果超出1e9就输出-1,反之输出结果。
思路:边算边判加特判。
代码:
#include<cstdio>
#define ll long long
#define mx 1e9//边界
using namespace std;
int main()
{
ll a,b,ans;
scanf("%lld %lld",&a,&b);
if(a==1)//特判
{
printf("1");
return 0;
}
ans=1;
for(ll i=1;i<=b;i++)
{
ans*=a;//算
if(ans>mx)//判
{
printf("-1");
return 0;
}
}
printf("%lld",ans);//输出
return 0;
}

浙公网安备 33010602011771号