问题标题: 酷町堂:1026遇到问题

0
0
已解决
林炜曦
林炜曦
中级守护
中级守护

数幂运算

#include<iostream>
#include<cmath>
using namespace std;
int main(){
   	long long a,cf=1;
    unsigned int n;
   	cin>>a>>n;
   	//long long cf=1; 
   	for(int i=1;i<=n;i++){
   		cf*=a;
   	}
   	if(abs(cf)>1000000){//abs(cf)
		cout<<"Output Exceeded!";
	}
   	else{
		cout<<cf;
	}
   	return 0;        
}  

 

林炜曦在2023-04-20 21:42:54追加了内容

 d


0
已采纳
张恒语
张恒语
新手光能
新手光能

31求豆,求采纳呜呜,我想换头像

0
张宸栋
张宸栋
初级守护
初级守护

先用pow函数求出a的b次幂,再判断数据范围。最后用if判断输出就行了

不是很简单吗???

0
0
丁炳瑜
丁炳瑜
高级光能
高级光能

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0
汪岩
汪岩
初级守护
初级守护

没必要这么麻烦的,定义三个long long类型的变量(比如说:a b c)

然后把a^b的值存进c里面

正如题目所说

c若超过1000000,则输出“Output Exceeded!“

但是条件没有那么简单(并不是c大于100万)

考虑到数字大到一定程度会超出范围,就会变成负数,所以条件是c大于100万或者c是负数就输出 Output Exceeded!   否则,输出c

我要回答