2 条题解

  • 1
    @ 2023-1-27 17:29:46

    快速幂题解:

    #include<bits/stdc++.h>
    using namespace std;
    long long quickpow(long long a,long long b){
    	long long ans=1,base=a,p=b;
    	while(p){
    		if(p%2)ans*=base;
    		if(ans>1e9||base>1e9){
    			cout<<-1;
    			exit(0);
    		} 
    		base*=base;
    		p/=2;
    	}
    	return ans;
    }
    int main(){
    	long long a,b;
    	cin>>a>>b;
    	cout<<quickpow(a,b);
    	return 0;
    } 
    
    • 0
      @ 2022-12-21 11:23:44

      #include<bits/stdc++.h> using namespace std; int main(){ long long a,b,n=1; cin>>a>>b; if(a==1){ cout<<"1"; return 0; } else{ for(long long i=0;i<b;i++){ n*=a; if(n>1000000000){ cout<<"-1"; return 0; } } } cout<<n; return 0; }

      • 1

      信息

      ID
      25
      时间
      1000ms
      内存
      128MiB
      难度
      7
      标签
      (无)
      递交数
      47
      已通过
      11
      上传者