若若的题解
2026-02-17 15:02:36
发布于:江西
0阅读
0回复
0点赞
#include <iostream>
using namespace std;
int main()
{
int a, b;
cin >> a >> b;
//特判
if(a == 1)
{
cout << 1 << endl;
return 0;
}
if(b == 1)
{
cout << a << endl;
return 0;
}
if(a > 31622)
{
cout << -1 << endl;
return 0;
}
if(b > 29)
{
cout << -1 << endl;
return 0;
}
long long fac = 1;
for(int i = 1;i <= b;i++) //i 表示准备乘上第 i 个 a
{
if((1e9 / double(fac)) < a) //准备乘上的时候看看是否超出限制
{
cout << -1 << endl;
return 0;
}
fac *= a;
}
cout << fac << endl;
return 0;
}
这里空空如也

有帮助,赞一个