吴铭轼 @ 2019-09-07 09:55:58
using namespace std; long long mod=9901;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; long long mi(long long t,long long k) { long long ans=1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; while(k>0) { if(k%2==1) { ans=t;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ans%=mod;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; } k/=2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; t=t;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; t%=mod;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; } return ans;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; } int prime[10004],cnp=0,isprime[10004];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; long long A,B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; long long cprime[10004];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; long long niyuan[10004]={0,1};;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; int main() { for(int i=2;i<mod;i++) { if(!isprime[i]) prime[++cnp]=i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; for(int j=1;prime[j]i<=mod&&j<=cnp;j++) isprime[iprime[j]]=1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; } for(int i=2;i<mod;i++) { niyuan[i]=(mod-(mod/i))niyuan[mod%i]%mod;;;;;;;;;;;;;;;;;;;; } for(int i=1;i<mod;i++) cprime[i]=1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; cin>>A>>B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; for(int i=1;i<=cnp;i++) { long long t=A,st=0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; while(t%(prime[i])==0) { st++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; t/=prime[i];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; } if(st) { st=B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; long long a=mi(prime[i],st+1)-1;;;;;;;;;;;;;;;;;;;;;;;;;; long long b=prime[i]-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; cprime[i]=aniyuan[b]%mod;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; } } long long ans=1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; for(int i=1;i<=mod;i++) { if(cprime[i]>1) { ans=cprime[i];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ans%=mod;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; } } cout<<ans;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; return 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; }
by 吴铭轼 @ 2019-09-07 09:56:17
#include <bits/stdc++.h>
using namespace std;
long long mod=9901;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
long long mi(long long t,long long k)
{
long long ans=1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
while(k>0)
{
if(k%2==1)
{
ans*=t;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ans%=mod;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
}
k/=2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
t*=t;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
t%=mod;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
}
return ans;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
}
int prime[10004],cnp=0,isprime[10004];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
long long A,B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
long long cprime[10004];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
long long niyuan[10004]={0,1};;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
int main()
{
for(int i=2;i<mod;i++)
{
if(!isprime[i])
prime[++cnp]=i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
for(int j=1;prime[j]*i<=mod&&j<=cnp;j++)
isprime[i*prime[j]]=1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
}
for(int i=2;i<mod;i++)
{
niyuan[i]=(mod-(mod/i))*niyuan[mod%i]%mod;;;;;;;;;;;;;;;;;;;;
}
for(int i=1;i<mod;i++)
cprime[i]=1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
cin>>A>>B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
for(int i=1;i<=cnp;i++)
{
long long t=A,st=0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
while(t%(prime[i])==0)
{
st++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
t/=prime[i];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
}
if(st)
{
st*=B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
long long a=mi(prime[i],st+1)-1;;;;;;;;;;;;;;;;;;;;;;;;;;
long long b=prime[i]-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
cprime[i]=a*niyuan[b]%mod;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
}
}
long long ans=1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
for(int i=1;i<=mod;i++)
{
if(cprime[i]>1)
{
ans*=cprime[i];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ans%=mod;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
}
}
cout<<ans;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
return 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
}
by Flandre_495 @ 2019-09-07 10:16:58
码风好评。。。
by J10c @ 2019-09-07 10:18:12
在?为什么要打那么多分号?
by 黑佬 @ 2019-09-07 11:12:11
去你的萌新
by 黑佬 @ 2019-09-07 11:12:31
去你的刚学OI
by NOIPer40 @ 2019-09-07 11:13:57
by NOIPer40 @ 2019-09-07 11:15:30
@黑佬
by 黑佬 @ 2019-09-07 11:16:49
来这里看看@NOIPer40
by 黑佬 @ 2019-09-07 11:22:03
来这里看看吧