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;
}

  

posted @ 2022-11-06 12:02  black_tee  阅读(19)  评论(0)    收藏  举报