文章

14

粉丝

49

获赞

0

访问

1.9k

头像
1071 幂次方
我要提问
发布于2024年3月6日 21:13
阅读数 176

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
	ll x,n;
	cin>>x>>n;
	int mod=233333;
	ll now=x;
	ll ans=1;
	while(n>0){
		if(n%2==1){
			ans=((ans%mod)*(now%mod))%mod;
		}
		//now=now*now;错误
		//now=(now*now)%mod;错误
		//now=now*(now%mod);错误
		now=now*now%mod;
		n=n/2;
	}
	cout<<ans;
}
	

 

        //now=(now*now)%mod;错误
        //now=now*(now%mod);错误
        now=now*now%mod;

为什么上面两行错了啊?

登录查看完整内容


登录后发布评论

1 条评论
snake VIP
2024年3月6日 21:41

now=(now*now)%mod;这个是可以的

不过你用了中文的括号

赞(0)