70分求助+1
2024-08-01 18:43:06
发布于:浙江
35阅读
0回复
0点赞
代码如下
#include <iostream>
using namespace std;
int main(){
int a , b;
cin >> a >> b;
int sum = 0;
long long sum1 = 1;
for(int i = 1; i <= b; i++){
sum1 = sum1 * a;
}
if(sum1 > 1000000000){
cout << "-1" << endl;
return 0;
}
else{
cout << sum1 << endl;
return 0;
}
return 0;
}
谁能帮帮我啊
全部评论 3
加上这一行。
2024-09-05 来自 浙江
02024-09-05 来自 浙江
0OK
2024-09-06 来自 浙江
0
if不应该放到for循环外面
修改后代码如下#include <iostream> using namespace std; int main(){ int a , b; cin >> a >> b; int sum = 0; long long sum1 = 1; for(int i = 1; i <= b; i++){ sum1 = sum1 * a; if(sum1 > 0x7fffffff){ cout << "-1" << endl; return 0; } }cout<<sum1; return 0; }
还有你全用的是sum1,sum有什么用2024-08-03 来自 浙江
0hallo
2024-08-03 来自 浙江
0感谢
2024-08-03 来自 浙江
0int最大值不是10亿,是2147483647
0x7fffffff是16进制表示 好记
也可以直接写INT_MAX?(我记得)2024-08-03 来自 浙江
0
有帮助,赞一个