QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#742200 | #3135. Mining a | vwxyz# | AC ✓ | 18ms | 10716kb | Python3 | 592b | 2024-11-13 16:03:52 | 2024-11-13 16:03:58 |
Judging History
answer
from collections import defaultdict
T=int(input())
for t in range(T):
N=int(input())
F=defaultdict(int)
NN=N
for p in range(2,N+1):
if p*p>N:
break
while NN%p==0:
NN//=p
F[p]+=1
if NN>1:
F[NN]+=1
D=[1]
for p in F:
F[p]*=2
e=F[p]
prev=D
D=[]
for d in prev:
for c in range(e+1):
D.append(d*p**c)
ans=0
for b in D:
ab=N*N//b
b+=N
ab+=N
ans=max(ans,ab^b)
print(ans)
詳細信息
Test #1:
score: 100
Accepted
time: 14ms
memory: 10520kb
input:
3 6 7 10
output:
45 48 101
result:
ok 3 lines
Test #2:
score: 0
Accepted
time: 9ms
memory: 10624kb
input:
3 1 2 7777777
output:
0 5 60493819864864
result:
ok 3 lines
Test #3:
score: 0
Accepted
time: 18ms
memory: 10716kb
input:
20 5352 7774 898767 9999999 2019102 10000000 3424123 8998231 1234 1241564 8888959 5411738 200000 2345235 9902352 9092342 2909525 9090909 4532423 9191991
output:
28652481 60446397 807782253792 99999983156992 4076773743037 100000017825793 11724620970984 80968179092912 1525189 1541483271985 79013592252160 29286916841381 40000131073 5500131830120 98056577753857 82670700086701 8465341544152 82644644558968 20542867168176 84492699625520
result:
ok 20 lines