全部评论 8

  • 你仔细看一下数据范围,a和b是<=10的9次方,最坏情况会炸的,所以可以把b设小一点,然后一步步扩大,过程发现超过,就输出,退出循环

    2024-01-31 来自 江苏

    1
  • #include<bits/stdc++.h>
    using namespace std;
    int main(){
    double a,b;
    cin >> a >> b;
    long long c=pow(a,b);
    if(c>1000000000||c<0){
    cout << "-1";

    }else{
        cout <<c;
    

    2024-02-01 来自 北京

    0
    • 如果输出为负数,同样输出-1;

      2024-02-01 来自 北京

      0
    • 另外pow要用double;

      2024-02-01 来自 北京

      0
  • #include<iostream>
    using namespace std;
    int main(){
    int a,b;
    long long sum=1;
    cin>>a>>b;
    for(int i=0;i<b;i++){
    sum=a*sum;
    if(sum>1000000000){
    cout<<-1;

    2023-12-20 来自 江苏

    0
  • 老老实实写for循环吧(悲)

    2023-12-20 来自 广东

    0
  • 高精度就行了(

    2023-12-17 来自 北京

    0
  • 你猜为什么要进csp(doge)肯定是因为他有高精啊((((大大大大大喜

    2023-10-26 来自 浙江

    0
  • hack:1000000000 1000000000

    2023-10-26 来自 四川

    0
  • 你开longlong也会炸,手写个循环幂次方。

    2023-10-26 来自 四川

    0
首页