結果

問題 No.36 素数が嫌い!
ユーザー yaoshimaxyaoshimax
提出日時 2015-02-21 16:24:47
言語 Python2
(2.7.18)
結果
WA  
実行時間 -
コード長 730 bytes
コンパイル時間 168 ms
コンパイル使用メモリ 7,068 KB
実行使用メモリ 257,612 KB
最終ジャッジ日時 2024-06-23 21:48:20
合計ジャッジ時間 82,847 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2,618 ms
257,492 KB
testcase_01 AC 2,603 ms
257,448 KB
testcase_02 AC 2,585 ms
257,448 KB
testcase_03 AC 2,591 ms
257,452 KB
testcase_04 WA -
testcase_05 AC 2,565 ms
257,312 KB
testcase_06 AC 2,574 ms
257,464 KB
testcase_07 AC 2,592 ms
257,444 KB
testcase_08 AC 2,592 ms
257,376 KB
testcase_09 AC 2,593 ms
257,516 KB
testcase_10 AC 2,616 ms
257,308 KB
testcase_11 AC 2,772 ms
257,464 KB
testcase_12 AC 2,729 ms
257,380 KB
testcase_13 WA -
testcase_14 AC 2,568 ms
257,440 KB
testcase_15 AC 2,577 ms
257,468 KB
testcase_16 AC 2,569 ms
257,248 KB
testcase_17 AC 2,587 ms
257,312 KB
testcase_18 AC 2,582 ms
257,432 KB
testcase_19 AC 2,608 ms
257,528 KB
testcase_20 AC 2,612 ms
257,452 KB
testcase_21 AC 2,614 ms
257,380 KB
testcase_22 AC 2,608 ms
257,320 KB
testcase_23 AC 2,628 ms
257,488 KB
testcase_24 AC 2,626 ms
257,532 KB
testcase_25 AC 2,629 ms
257,460 KB
testcase_26 AC 2,663 ms
257,468 KB
testcase_27 AC 2,607 ms
257,532 KB
testcase_28 AC 2,656 ms
257,308 KB
testcase_29 AC 2,617 ms
257,436 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

# I hate Math
N=int(raw_input())
upperbound=10000001
isOKsize=(upperbound-3)/2+1
isOK=[True for i in range(isOKsize)]

for i in range(isOKsize):
    if (i+i+3)*i+i > isOKsize:
        break
    if isOK[i]:
        #i+i+3 is prime
        p=i+i+3
        #delete j s.t. j+j+3 = (2i+3)^2 = 4i^2+12i+9 => j=2i^2+6i+3=p*(i+1)+i
        #next j is j+j+3 = (2i+3)(2i+5). that is, step of j is 2i+3=p
        for k in range( p*i+p+i, isOKsize, p):
            isOK[k]=False
primes = [2] + [i+i+3 for i in range(isOKsize) if isOK[i]]

cnt = 0
for p in primes:
    #print p
    if p*p > N:
        break
    while cnt<2 and N%p==0:
        cnt+=1
        N/=p
    if cnt >= 2:
        break
if cnt>=2:
    print "YES"
else:
    print"NO"

0