結果

問題 No.1058 素敵な数
ユーザー lllllll88938494lllllll88938494
提出日時 2022-08-26 11:53:04
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 79 ms / 2,000 ms
コード長 706 bytes
コンパイル時間 701 ms
コンパイル使用メモリ 81,920 KB
実行使用メモリ 73,472 KB
最終ジャッジ日時 2024-10-13 13:57:54
合計ジャッジ時間 1,659 ms
ジャッジサーバーID
(参考情報)
judge2 / judge5
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 37 ms
51,712 KB
testcase_01 AC 74 ms
73,344 KB
testcase_02 AC 73 ms
73,472 KB
testcase_03 AC 74 ms
72,832 KB
testcase_04 AC 75 ms
73,344 KB
testcase_05 AC 74 ms
72,832 KB
testcase_06 AC 79 ms
73,292 KB
testcase_07 AC 75 ms
73,344 KB
testcase_08 AC 77 ms
73,336 KB
testcase_09 AC 75 ms
73,216 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

x=int(input())
x-=1

if x == 0:
    print(1)
    exit()

def  c(n):
    sosu=[True]*(n+1)
    sosu[0],sosu[1] = False,False
    cnt=0
    for i in range(4,n+1,2):
        sosu[i] = False
    
    for i in range(3,int(n**0.5)+1,2):
        if sosu[i] == False:
            continue
        for j in range(i,n//i+1,2):
            sosu[j*i]=False
    return [p for p in range(n + 1) if sosu[p]==True]

n=10**6
t=c(n)

p=[]
cnt=0
for i in range(len(t)):
    if t[i] > 10**5:
        p.append(t[i])
        cnt+=1
    if cnt == 10:
        break
        
ans=[]
for i in range(len(p)-1):
    for j in range(i,len(p)):
        ans.append(p[i]*p[j])
        
ans.sort()
print(ans[x-1])
        
        
        
0