UOJ Logo

NOI.AC

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#202781#3548. powAndyLuo1000ms1192kbC++11537b2024-02-17 09:12:532024-02-17 13:14:15

answer

#include <bits/stdc++.h>
using namespace std;
long long a,b,p;
long long mul(long long a,long long b,long long m)
{
	long long t = a % m,r = 0;
	while (b)
	{
		if (b & 1)
			r = (r + t) % m;
		t = (t + t) % m;
		b = b >> 1;
	}
	return r;
}
long long qpow(long long a,long long b,long long m)
{
	long long t = a % m,r = 1;
	while (b)
	{
		if (b & 1)
			r = mul(r,t,m);
		t = mul(t,t,m);
		b = b >> 1;
	}
	return r;
}
int main()
{
	scanf("%lld%lld%lld",&a,&b,&p);
	printf("%lld",qpow(a,b,p));
	return 0;
}

Details

小提示:点击横条可展开更详细的信息

Test #1:

score: 10
Accepted
time: 0ms
memory: 1188kb

input:

68331 68573 998244352

output:

293741275

result:

ok single line: '293741275'

Test #2:

score: 10
Accepted
time: 0ms
memory: 1188kb

input:

492633589920418497 614936933939541807 998244352

output:

396003649

result:

ok single line: '396003649'

Test #3:

score: 10
Accepted
time: 0ms
memory: 1188kb

input:

714847614091941559 437720336074058655 998244352

output:

55508487

result:

ok single line: '55508487'

Test #4:

score: 10
Accepted
time: 0ms
memory: 1188kb

input:

795761552677473363 996235504316926809 998244352

output:

83343219

result:

ok single line: '83343219'

Test #5:

score: 10
Accepted
time: 0ms
memory: 1188kb

input:

922775944742094083 738364982231145619 722765401220272391

output:

614037901234556929

result:

ok single line: '614037901234556929'

Test #6:

score: 10
Accepted
time: 0ms
memory: 1192kb

input:

855579180739012013 573801220305525717 419267732261406547

output:

71485526853465542

result:

ok single line: '71485526853465542'

Test #7:

score: 10
Accepted
time: 0ms
memory: 1192kb

input:

795120597224342033 671653932363513029 610090323098396995

output:

164343717906310328

result:

ok single line: '164343717906310328'

Test #8:

score: 10
Accepted
time: 0ms
memory: 1188kb

input:

978999426791571589 588625801826887893 799576868810095781

output:

442564150938766117

result:

ok single line: '442564150938766117'

Test #9:

score: 10
Accepted
time: 0ms
memory: 1192kb

input:

454990929271076423 687063077602980771 371223928370355377

output:

110567687898242288

result:

ok single line: '110567687898242288'

Test #10:

score: 10
Accepted
time: 0ms
memory: 1188kb

input:

502048631939309301 939481413902908773 595069909588590251

output:

200773774138946921

result:

ok single line: '200773774138946921'