60pts求调
查看原帖
60pts求调
160870
迟陌楼主2023/11/23 16:27

萌新按照自己的理解打了一下,复杂度应该是logn但是不知道为啥后面4个超时了,求大佬帮帮看看是哪里出了问题orz

#include<iostream>
#include<cmath>
using namespace std;
long long ans=1;
long long f(long long a, long long b,long long k)
{
	if (b == 1)
		return a%k;
	if (b % 2 == 0)
		return (f(a, b / 2, k) * f(a, b / 2, k))%k;
	else
		return (a * f(a, b / 2,k) * f(a, b / 2,k))%k;

}
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);
	long long a, b,k;
	cin >> a >> b>>k;
	cout << a<<"^"<<b<<" mod "<<k<<"="<< f(a, b,k) % k;
	return 0;
}
2023/11/23 16:27
加载中...