結果

問題 No.3023 素数判定するだけ
ユーザー jjjj
提出日時 2017-03-31 23:56:21
言語 Fortran
(gFortran 13.2.0)
結果
WA  
実行時間 -
コード長 668 bytes
コンパイル時間 554 ms
コンパイル使用メモリ 27,680 KB
実行使用メモリ 4,384 KB
最終ジャッジ日時 2023-09-21 13:03:38
合計ジャッジ時間 4,668 ms
ジャッジサーバーID
(参考情報)
judge13 / judge15
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 WA -
testcase_01 WA -
testcase_02 WA -
testcase_03 WA -
testcase_04 WA -
testcase_05 WA -
testcase_06 WA -
testcase_07 WA -
testcase_08 WA -
testcase_09 WA -
testcase_10 WA -
testcase_11 WA -
testcase_12 WA -
testcase_13 WA -
testcase_14 WA -
testcase_15 WA -
testcase_16 WA -
testcase_17 WA -
testcase_18 WA -
testcase_19 WA -
testcase_20 WA -
testcase_21 WA -
testcase_22 WA -
testcase_23 WA -
testcase_24 WA -
権限があれば一括ダウンロードができます

ソースコード

diff #

program main
  integer::N
  integer,parameter::b=LEN_TRIM("a")
  integer,parameter::a=b-b
  integer,parameter::c=b+b
  integer,allocatable::isPr(:)
  read *,N
  allocate(isPr(N))
  call get_pr(isPr,N)
  if(isPr(N).eq.a) then
     print '(a)',"NO"
  else
     print '(a)',"YES"
  end if
contains
  subroutine get_pr(isPr, N)
    implicit none
    integer::i,j,N
    integer,parameter::pr=b,nonpr=a
    integer,allocatable::isPr(:)

    isPr=pr
    isPr(a)=nonpr
    do i=c, FLOOR(SQRT(REAL(N)))
       if(isPr(i).eq.pr) then
          do j=ISHFT(i,b), N, i
             isPr(j) = nonpr
          end do
       end if
    end do
  end subroutine get_pr
end program main
0