乘方(2023寒假每日一题 19)
小文同学刚刚接触了信息学竞赛,有一天她遇到了这样一个题:给定正整数 和
,求
即
个
相乘的值,例如
即为
个
相乘,结果为
“简单!”小文心想,同时很快就写出了一份程序,可是测试时却出现了错误。
小文很快意识到,她的程序里的变量都是
在大多数机器上, 类型能表示的最大数为
,因此只要计算结果超过这个数,她的程序就会出现错误。
由于小文刚刚学会编程,她担心使用
因此她希望你在 的值超过
时,输出一个
进行警示,否则就输出正确的
然而小文还是不知道怎么实现这份程序,因此她想请你帮忙。
输入格式
输入共一行,两个正整数 。
输出格式
输出共一行,如果 的值不超过
,则输出
的值,否则输出
。
数据范围
对于 的数据,保证
。
对于 的数据,保证
。
对于 的数据,保证
,
。
对于 的数据,保证
。
输入样例1:
10 9
输出样例1:
1000000000
输入样例2:
23333 66666
输出样例2:
‐1
#include<iostream>
using namespace std;
const int N = 1e9;
int main(){
int a, b;
cin >> a >> b;
long long res = 1;
if(a == 1) cout << 1 << endl;
else{
for(int i = 0; i < b; i++){
res *= a;
if(res > N) {
res = -1;
break;
}
}
cout << res << endl;
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~