样例没过也能AC吗?
查看原帖
样例没过也能AC吗?
763299
Storm_Lightning楼主2024/3/8 15:44

第二个样例没过也能AC!!!

#include<bits/stdc++.h>
using namespace std;
#define int long long
int mod;
int qpow(int a,int b)
{
	if(b==0)
	{
		return 1%mod;
	}
	int x=qpow(a,b>>1);
	if(b&1)
	{
		return ((x*x)%mod*a)%mod;
	}
	else
	{
		return x*x%mod;
	}
}
signed main()
{
	int a,m,b;char ch;int phi=1,flag=0;
	scanf("%lld%lld",&a,&m);
	mod=m;
	a%=m;
	int mm=m;
	for(int i=2;i*i<=m;i++) 
	{
		if(mm%i)continue;
		phi*=i-1;
		mm/=i;
		while(mm%i==0)
		{
			phi*=i;
			mm/=i;
		}
	} 
	if(mm>1)phi*=mm-1;
	while((ch=getchar())<'0'||ch>'9');
	while(b=b*10+(ch^'0'),(ch=getchar())>='0'&&ch<='9')
	{
		if(b>=phi)
		{
			flag=1;
			b%=phi;
		} 
	}
	if(b>=phi)
	{
		flag=1;
		b%=phi;
	} 
	if(flag==1)b+=phi;
	printf("%lld",qpow(a,b));
	return 0;
} 
2024/3/8 15:44
加载中...