球球各位dalao解答
查看原帖
球球各位dalao解答
427290
温柔岁月楼主2021/1/25 15:54

球球各位dalao解答

#include <iostream>
#include <algorithm>
#include <cstdio>

using namespace std;
typedef long long ll;
ll ba, to, mo;

ll fast_pow(ll base, ll top, ll mod){
	ll res;
	base %= mod;
	while(top){
		if(top & 1) 
      			res = (res * base) % mod;
		top = top >> 1;
		base = (base * base) % mod;
	}
	return res % mod;
}

int main(){
	cin >> ba >> to >> mo;
	ll ans = fast_pow(ba, to, mo);
	printf("%d^%d mod %d=%d",ba ,to, mo, ans%mo);
	
	return 0;
}

只过了两个点,不知道为什么。。(我在本地跑的几个答案是对的 0.0)

2021/1/25 15:54
加载中...