特判解法
2026-08-19 12:01:02
发布于:四川
4阅读
0回复
0点赞
看了一圈好像没有人写特判的……
特判的作用:
处理常规逻辑无法正确覆盖的特殊情况,避免程序出错或得到错误结果
加速/剪枝(提前返回,减少计算量)
代码如下:
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1e9;
int main(){
int a,b; cin>>a>>b; //a,b最大为1e9,在int范围内
ll sum=1; //sum会在刚好超过1e9时return掉
if(b==0){ //任何数的0次方都是1
cout<<1<<'\n';
return 0;
}
if(a==1){ //底数为1,指数无论是几,幂都是1
cout<<1<<'\n';
return 0;
}
for(int i=1;i<=b;i++){
sum*=a;
if(sum>N){
cout<<-1<<'\n';
return 0;
} //大众写法
}
cout<<sum<<'\n';
return 0;
}
//当然,不考虑题目会有错误输入(比如底数为0),因为没给出错误时该输出什么
这里空空如也





有帮助,赞一个