結果
問題 | No.1396 Giri |
ユーザー | taiga000629 |
提出日時 | 2021-02-15 05:28:12 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 569 ms / 2,000 ms |
コード長 | 828 bytes |
コンパイル時間 | 341 ms |
コンパイル使用メモリ | 82,480 KB |
実行使用メモリ | 96,416 KB |
最終ジャッジ日時 | 2024-07-22 17:38:47 |
合計ジャッジ時間 | 6,900 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 44 ms
52,480 KB |
testcase_01 | AC | 43 ms
52,352 KB |
testcase_02 | AC | 569 ms
96,160 KB |
testcase_03 | AC | 41 ms
52,352 KB |
testcase_04 | AC | 42 ms
52,608 KB |
testcase_05 | AC | 554 ms
96,416 KB |
testcase_06 | AC | 41 ms
52,096 KB |
testcase_07 | AC | 41 ms
52,224 KB |
testcase_08 | AC | 41 ms
51,968 KB |
testcase_09 | AC | 41 ms
52,096 KB |
testcase_10 | AC | 42 ms
52,480 KB |
testcase_11 | AC | 42 ms
52,224 KB |
testcase_12 | AC | 41 ms
52,224 KB |
testcase_13 | AC | 41 ms
52,224 KB |
testcase_14 | AC | 42 ms
52,480 KB |
testcase_15 | AC | 42 ms
52,480 KB |
testcase_16 | AC | 66 ms
67,072 KB |
testcase_17 | AC | 82 ms
75,236 KB |
testcase_18 | AC | 112 ms
77,060 KB |
testcase_19 | AC | 321 ms
85,420 KB |
testcase_20 | AC | 427 ms
90,080 KB |
testcase_21 | AC | 513 ms
92,524 KB |
testcase_22 | AC | 563 ms
95,928 KB |
testcase_23 | AC | 561 ms
96,036 KB |
testcase_24 | AC | 565 ms
96,284 KB |
testcase_25 | AC | 559 ms
96,160 KB |
ソースコード
n=int(input()) from math import gcd def lcd(a,b): return (a*b)//gcd(a,b)%mod mod=998244353 ########### prime_num=n ########### min_prime=[-1]*(prime_num+1) #2以上の自然数に対して最小の素因数を表す min_prime[0]=0 min_prime[1]=1 i=2 prime=[] while i<=prime_num: if min_prime[i]==-1: min_prime[i]=i prime.append(i) for j in prime: if i*j>prime_num or j>min_prime[i]:break min_prime[j*i]=j i+=1 maxp=prime[-1] alls={} for x in range(1,n+1): if x==maxp:continue s={} y=x while y>1: p=min_prime[y] if p in s:s[p]+=1 else:s[p]=1 y//=p for key in s: if key in alls:alls[key]=max(alls[key],s[key]) else:alls[key]=s[key] ans=1 for p in alls: ans*=pow(p,alls[p],mod) ans%=mod print(ans)