坐下!小菜6分钟错3次搞定
查看原帖
坐下!小菜6分钟错3次搞定
1359133
future666楼主2024/8/29 11:44

此题不难,但是巨坑!

1.题目:不超过 10的9次方!不超过!判断用>不是>=!

2.不能直接

long long a,b,c;
c=pow(a,b);
if(c>=pow(10,9)) cout<<-1;
else cout<<c;

否则...c会溢出longlong,变为负数! 要变一变:

long long a,b,c
c=pow(a,b);
if(pow(a,b)>=pow(10,9)) cout<<-1;
else cout<<c;

这样就可以了。AC代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
    long long a,b,c;
    cin>>a>>b;
    c=pow(a,b);
    if(pow(a,b)>pow(10,9)) cout<<-1; 
    else cout<<c;
    return 0;//好习惯
}
2024/8/29 11:44
加载中...