乘方(2023寒假每日一题 19)

发布时间 2023-10-03 10:08:02作者: 迷途小石头


小文同学刚刚接触了信息学竞赛,有一天她遇到了这样一个题:给定正整数 乘方(2023寒假每日一题 19)_算法乘方(2023寒假每日一题 19)_数据_02 ,求 乘方(2023寒假每日一题 19)_数据_03

乘方(2023寒假每日一题 19)_数据_03乘方(2023寒假每日一题 19)_数据_02乘方(2023寒假每日一题 19)_算法 相乘的值,例如 乘方(2023寒假每日一题 19)_数据结构_07 即为 乘方(2023寒假每日一题 19)_数据结构_08乘方(2023寒假每日一题 19)_数据结构_09 相乘,结果为 乘方(2023寒假每日一题 19)_c++_10

“简单!”小文心想,同时很快就写出了一份程序,可是测试时却出现了错误。

小文很快意识到,她的程序里的变量都是 乘方(2023寒假每日一题 19)_c++_11

在大多数机器上,乘方(2023寒假每日一题 19)_c++_11 类型能表示的最大数为 乘方(2023寒假每日一题 19)_数据_13,因此只要计算结果超过这个数,她的程序就会出现错误。

由于小文刚刚学会编程,她担心使用 乘方(2023寒假每日一题 19)_c++_11

因此她希望你在 乘方(2023寒假每日一题 19)_数据_03 的值超过 乘方(2023寒假每日一题 19)_数据_16 时,输出一个 乘方(2023寒假每日一题 19)_模拟_17 进行警示,否则就输出正确的 乘方(2023寒假每日一题 19)_数据_03

然而小文还是不知道怎么实现这份程序,因此她想请你帮忙。

输入格式
输入共一行,两个正整数 乘方(2023寒假每日一题 19)_模拟_19

输出格式
输出共一行,如果 乘方(2023寒假每日一题 19)_数据_03 的值不超过 乘方(2023寒假每日一题 19)_数据_16,则输出 乘方(2023寒假每日一题 19)_数据_03 的值,否则输出 乘方(2023寒假每日一题 19)_模拟_17

数据范围
对于 乘方(2023寒假每日一题 19)_算法_24 的数据,保证 乘方(2023寒假每日一题 19)_模拟_25
对于 乘方(2023寒假每日一题 19)_数据结构_26 的数据,保证 乘方(2023寒假每日一题 19)_算法_27
对于 乘方(2023寒假每日一题 19)_算法_28 的数据,保证 乘方(2023寒假每日一题 19)_算法_29乘方(2023寒假每日一题 19)_模拟_30
对于 乘方(2023寒假每日一题 19)_模拟_31 的数据,保证 乘方(2023寒假每日一题 19)_数据结构_32

输入样例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;
}


乘方(2023寒假每日一题 19)