Gravatar
jaoihios
积分:0
提交:0 / 2

Pro3777  [CSP 2022J]乘方

这题我在考试的时候是100,为什么在这只有40

这题不难,但是容易陷入思维陷阱中。就是说,c++中的<cmath>头文件有直接算出乘方的 pow 函数,但是很明显在这里不能直接用。这里的结果很可能会超过10^18,就会输出乱码。因此我们可以定义一个函数panduan,返回值是long long(结果小于等于10^9),里面是a和b,也是long long.代码如下:

    

#define ll long long
ll panduan(ll a,ll b){
	ll ans=1;
	for(ll i=1;i<=b;i++){
		ans=ans*a;
		if(ans>1000000000) return -1;
	}
	return ans;
}
然后就可以了,完整代码交给读者自行锻炼


2022-11-04 11:34:42    
我有话要说
Gravatar
yuan
积分:1076
提交:413 / 669
回复@jaoihios : 你好,题目现在只有4组样例数据,其它测试点还没有数据。

2022-11-04 12:09:40