QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#480113 | #144. Primitive root / 原根 | Williamxzh# | 3 | 1ms | 4080kb | C++23 | 960b | 2024-07-16 07:59:42 | 2024-07-16 07:59:42 |
answer
#include <bits/stdc++.h>
#define il inline
#define B __int128
using namespace std;
typedef long long ll;
il B qp(ll a,ll b,ll mod){
B ans=B(1),base=B(a);
while(b){
if(b&1) ans=(ans*base)%B(mod);
base=(base*base)%B(mod),b>>=1;
}return ans;
}
const int N=1e5+5;
ll n,m,p,a[N];int k,c,ck,num;
il int CK(ll x){
for(int i=1;i<=num;++i) if(qp(x,m/a[i],n)==B(1)) return 0;
return 1;
}
ll x,y,z,u,v,w;
int main(){
scanf("%lld",&n);
if(n<=2){printf("1");exit(0);}
if(n<=4){printf("%lld",n-1);exit(0);}
x=n;
if(!(x&1)) x>>=1,c=2;else c=1;
for(ll i=3;i*i<=x;++i){
if(n%i) continue;
p=i,k=0;
while(x%i==0) x/=i,++k;
ck=1;break;
}
if(ck && x>1){printf("-1");exit(0);}
if(!ck) p=x,k=1;
m=n/p*(p-1ll),x=p-1;
for(ll i=2;i*i<=x;++i){
if(x%i) continue;
a[++num]=i;while(x%i==0) x/=i;
}
if(x>1) a[++num]=x;
if(k>1) a[++num]=p;
for(ll i=2;;++i){
if(CK(i)){printf("%lld",i);exit(0);}
}
return 0;
}
詳細信息
Subtask #1:
score: 1
Accepted
Test #1:
score: 1
Accepted
time: 0ms
memory: 4068kb
input:
433
output:
5
result:
ok good solution
Test #2:
score: 0
Accepted
time: 0ms
memory: 3848kb
input:
197
output:
2
result:
ok good solution
Test #3:
score: 0
Accepted
time: 0ms
memory: 3792kb
input:
733
output:
6
result:
ok good solution
Test #4:
score: 0
Accepted
time: 1ms
memory: 3732kb
input:
859
output:
2
result:
ok good solution
Test #5:
score: 0
Accepted
time: 0ms
memory: 4028kb
input:
449
output:
3
result:
ok good solution
Test #6:
score: 0
Accepted
time: 0ms
memory: 3868kb
input:
263
output:
5
result:
ok good solution
Test #7:
score: 0
Accepted
time: 0ms
memory: 3704kb
input:
683
output:
5
result:
ok good solution
Test #8:
score: 0
Accepted
time: 0ms
memory: 3768kb
input:
17
output:
3
result:
ok good solution
Test #9:
score: 0
Accepted
time: 0ms
memory: 3692kb
input:
359
output:
7
result:
ok good solution
Test #10:
score: 0
Accepted
time: 0ms
memory: 3860kb
input:
89
output:
3
result:
ok good solution
Test #11:
score: 0
Accepted
time: 1ms
memory: 3772kb
input:
647
output:
5
result:
ok good solution
Test #12:
score: 0
Accepted
time: 0ms
memory: 3764kb
input:
487
output:
3
result:
ok good solution
Test #13:
score: 0
Accepted
time: 0ms
memory: 3728kb
input:
677
output:
2
result:
ok good solution
Test #14:
score: 0
Accepted
time: 0ms
memory: 4056kb
input:
829
output:
2
result:
ok good solution
Test #15:
score: 0
Accepted
time: 0ms
memory: 3724kb
input:
227
output:
2
result:
ok good solution
Test #16:
score: 0
Accepted
time: 0ms
memory: 3732kb
input:
151
output:
6
result:
ok good solution
Test #17:
score: 0
Accepted
time: 0ms
memory: 3768kb
input:
607
output:
3
result:
ok good solution
Test #18:
score: 0
Accepted
time: 0ms
memory: 3732kb
input:
661
output:
2
result:
ok good solution
Test #19:
score: 0
Accepted
time: 0ms
memory: 3792kb
input:
151
output:
6
result:
ok good solution
Test #20:
score: 0
Accepted
time: 0ms
memory: 3732kb
input:
101
output:
2
result:
ok good solution
Test #21:
score: 0
Accepted
time: 0ms
memory: 4024kb
input:
5
output:
2
result:
ok good solution
Test #22:
score: 0
Accepted
time: 0ms
memory: 4028kb
input:
877
output:
2
result:
ok good solution
Test #23:
score: 0
Accepted
time: 0ms
memory: 3768kb
input:
139
output:
2
result:
ok good solution
Test #24:
score: 0
Accepted
time: 0ms
memory: 3720kb
input:
389
output:
2
result:
ok good solution
Test #25:
score: 0
Accepted
time: 0ms
memory: 3772kb
input:
421
output:
2
result:
ok good solution
Test #26:
score: 0
Accepted
time: 0ms
memory: 3728kb
input:
709
output:
2
result:
ok good solution
Test #27:
score: 0
Accepted
time: 0ms
memory: 4056kb
input:
331
output:
3
result:
ok good solution
Test #28:
score: 0
Accepted
time: 0ms
memory: 4056kb
input:
269
output:
2
result:
ok good solution
Test #29:
score: 0
Accepted
time: 0ms
memory: 3796kb
input:
797
output:
2
result:
ok good solution
Test #30:
score: 0
Accepted
time: 0ms
memory: 4060kb
input:
997
output:
7
result:
ok good solution
Subtask #2:
score: 0
Wrong Answer
Dependency #1:
100%
Accepted
Test #31:
score: 1
Accepted
time: 0ms
memory: 3712kb
input:
841
output:
2
result:
ok good solution
Test #32:
score: 0
Accepted
time: 0ms
memory: 4020kb
input:
289
output:
3
result:
ok good solution
Test #33:
score: 0
Accepted
time: 0ms
memory: 3728kb
input:
729
output:
2
result:
ok good solution
Test #34:
score: 0
Accepted
time: 0ms
memory: 3768kb
input:
169
output:
2
result:
ok good solution
Test #35:
score: 0
Accepted
time: 0ms
memory: 4064kb
input:
961
output:
3
result:
ok good solution
Test #36:
score: 0
Accepted
time: 0ms
memory: 4064kb
input:
31
output:
3
result:
ok good solution
Test #37:
score: 0
Accepted
time: 0ms
memory: 3776kb
input:
243
output:
2
result:
ok good solution
Test #38:
score: 0
Accepted
time: 0ms
memory: 3772kb
input:
625
output:
2
result:
ok good solution
Test #39:
score: 0
Accepted
time: 0ms
memory: 3732kb
input:
121
output:
2
result:
ok good solution
Test #40:
score: 0
Accepted
time: 0ms
memory: 3772kb
input:
125
output:
2
result:
ok good solution
Test #41:
score: -1
Wrong Answer
time: 0ms
memory: 4072kb
input:
512
output:
2
result:
wrong answer wrong solution
Subtask #3:
score: 0
Skipped
Dependency #2:
0%
Subtask #4:
score: 1
Accepted
Dependency #1:
100%
Accepted
Test #91:
score: 1
Accepted
time: 0ms
memory: 3736kb
input:
182233
output:
5
result:
ok good solution
Test #92:
score: 0
Accepted
time: 0ms
memory: 3768kb
input:
28771
output:
2
result:
ok good solution
Test #93:
score: 0
Accepted
time: 0ms
memory: 4064kb
input:
579239
output:
11
result:
ok good solution
Test #94:
score: 0
Accepted
time: 0ms
memory: 3768kb
input:
724747
output:
7
result:
ok good solution
Test #95:
score: 0
Accepted
time: 0ms
memory: 4056kb
input:
143513
output:
3
result:
ok good solution
Test #96:
score: 0
Accepted
time: 0ms
memory: 4068kb
input:
695509
output:
2
result:
ok good solution
Test #97:
score: 0
Accepted
time: 0ms
memory: 3776kb
input:
999217
output:
5
result:
ok good solution
Test #98:
score: 0
Accepted
time: 0ms
memory: 3848kb
input:
888161
output:
3
result:
ok good solution
Test #99:
score: 0
Accepted
time: 0ms
memory: 3768kb
input:
234287
output:
5
result:
ok good solution
Test #100:
score: 0
Accepted
time: 0ms
memory: 4072kb
input:
746483
output:
2
result:
ok good solution
Test #101:
score: 0
Accepted
time: 0ms
memory: 3796kb
input:
985003
output:
3
result:
ok good solution
Test #102:
score: 0
Accepted
time: 0ms
memory: 4056kb
input:
786959
output:
17
result:
ok good solution
Test #103:
score: 0
Accepted
time: 0ms
memory: 4072kb
input:
1097
output:
3
result:
ok good solution
Test #104:
score: 0
Accepted
time: 0ms
memory: 3772kb
input:
105527
output:
5
result:
ok good solution
Test #105:
score: 0
Accepted
time: 0ms
memory: 3772kb
input:
812519
output:
7
result:
ok good solution
Test #106:
score: 0
Accepted
time: 0ms
memory: 3772kb
input:
161599
output:
6
result:
ok good solution
Test #107:
score: 0
Accepted
time: 0ms
memory: 3860kb
input:
645131
output:
2
result:
ok good solution
Test #108:
score: 0
Accepted
time: 0ms
memory: 3768kb
input:
63397
output:
2
result:
ok good solution
Test #109:
score: 0
Accepted
time: 0ms
memory: 4064kb
input:
244429
output:
6
result:
ok good solution
Test #110:
score: 0
Accepted
time: 0ms
memory: 4068kb
input:
911453
output:
2
result:
ok good solution
Test #111:
score: 0
Accepted
time: 0ms
memory: 3824kb
input:
340477
output:
2
result:
ok good solution
Test #112:
score: 0
Accepted
time: 0ms
memory: 3848kb
input:
28351
output:
6
result:
ok good solution
Test #113:
score: 0
Accepted
time: 0ms
memory: 3772kb
input:
414277
output:
2
result:
ok good solution
Test #114:
score: 0
Accepted
time: 0ms
memory: 4052kb
input:
411923
output:
2
result:
ok good solution
Test #115:
score: 0
Accepted
time: 0ms
memory: 3768kb
input:
986281
output:
19
result:
ok good solution
Test #116:
score: 0
Accepted
time: 0ms
memory: 3796kb
input:
882047
output:
5
result:
ok good solution
Test #117:
score: 0
Accepted
time: 0ms
memory: 3856kb
input:
323009
output:
3
result:
ok good solution
Test #118:
score: 0
Accepted
time: 0ms
memory: 4056kb
input:
577153
output:
5
result:
ok good solution
Test #119:
score: 0
Accepted
time: 0ms
memory: 3768kb
input:
42281
output:
11
result:
ok good solution
Test #120:
score: 0
Accepted
time: 0ms
memory: 3868kb
input:
601823
output:
5
result:
ok good solution
Subtask #5:
score: 0
Skipped
Dependency #2:
0%
Subtask #6:
score: 0
Skipped
Dependency #3:
0%
Subtask #7:
score: 1
Accepted
Dependency #4:
100%
Accepted
Test #181:
score: 1
Accepted
time: 0ms
memory: 3736kb
input:
842797909
output:
2
result:
ok good solution
Test #182:
score: 0
Accepted
time: 1ms
memory: 3860kb
input:
662460749
output:
2
result:
ok good solution
Test #183:
score: 0
Accepted
time: 1ms
memory: 3796kb
input:
583578713
output:
3
result:
ok good solution
Test #184:
score: 0
Accepted
time: 1ms
memory: 3760kb
input:
714745777
output:
19
result:
ok good solution
Test #185:
score: 0
Accepted
time: 0ms
memory: 3772kb
input:
626528689
output:
7
result:
ok good solution
Test #186:
score: 0
Accepted
time: 0ms
memory: 3852kb
input:
848747719
output:
3
result:
ok good solution
Test #187:
score: 0
Accepted
time: 0ms
memory: 4028kb
input:
780868019
output:
2
result:
ok good solution
Test #188:
score: 0
Accepted
time: 0ms
memory: 3852kb
input:
295695817
output:
5
result:
ok good solution
Test #189:
score: 0
Accepted
time: 1ms
memory: 3800kb
input:
950964661
output:
6
result:
ok good solution
Test #190:
score: 0
Accepted
time: 0ms
memory: 3772kb
input:
219526067
output:
2
result:
ok good solution
Test #191:
score: 0
Accepted
time: 1ms
memory: 3736kb
input:
763440683
output:
2
result:
ok good solution
Test #192:
score: 0
Accepted
time: 1ms
memory: 4052kb
input:
744457559
output:
43
result:
ok good solution
Test #193:
score: 0
Accepted
time: 0ms
memory: 3772kb
input:
117979097
output:
3
result:
ok good solution
Test #194:
score: 0
Accepted
time: 0ms
memory: 3772kb
input:
910461493
output:
5
result:
ok good solution
Test #195:
score: 0
Accepted
time: 1ms
memory: 4056kb
input:
796412147
output:
2
result:
ok good solution
Test #196:
score: 0
Accepted
time: 0ms
memory: 3772kb
input:
221019493
output:
2
result:
ok good solution
Test #197:
score: 0
Accepted
time: 0ms
memory: 3776kb
input:
237830497
output:
10
result:
ok good solution
Test #198:
score: 0
Accepted
time: 0ms
memory: 3860kb
input:
209079863
output:
5
result:
ok good solution
Test #199:
score: 0
Accepted
time: 0ms
memory: 3772kb
input:
808345841
output:
3
result:
ok good solution
Test #200:
score: 0
Accepted
time: 0ms
memory: 4024kb
input:
100217503
output:
3
result:
ok good solution
Test #201:
score: 0
Accepted
time: 1ms
memory: 3728kb
input:
99546341
output:
2
result:
ok good solution
Test #202:
score: 0
Accepted
time: 1ms
memory: 3788kb
input:
811108069
output:
6
result:
ok good solution
Test #203:
score: 0
Accepted
time: 0ms
memory: 4068kb
input:
121875503
output:
5
result:
ok good solution
Test #204:
score: 0
Accepted
time: 0ms
memory: 4052kb
input:
932569537
output:
10
result:
ok good solution
Test #205:
score: 0
Accepted
time: 0ms
memory: 3704kb
input:
598983901
output:
6
result:
ok good solution
Test #206:
score: 0
Accepted
time: 0ms
memory: 4080kb
input:
54645551
output:
7
result:
ok good solution
Test #207:
score: 0
Accepted
time: 0ms
memory: 3796kb
input:
22252519
output:
3
result:
ok good solution
Test #208:
score: 0
Accepted
time: 1ms
memory: 4060kb
input:
666436031
output:
14
result:
ok good solution
Test #209:
score: 0
Accepted
time: 0ms
memory: 3704kb
input:
900871603
output:
2
result:
ok good solution
Test #210:
score: 0
Accepted
time: 1ms
memory: 3772kb
input:
561111223
output:
43
result:
ok good solution
Subtask #8:
score: 0
Skipped
Dependency #5:
0%
Subtask #9:
score: 0
Skipped
Dependency #6:
0%
Subtask #10:
score: 0
Skipped
Dependency #9:
0%