結果

問題 No.312 置換処理
コンテスト
ユーザー jj
提出日時 2016-09-11 17:11:28
言語 Fortran
(gFortran 16.2.0)
コンパイル:
gfortran-16 _filename_ -O2 -o ./a.out
実行:
./a.out
結果
AC  
実行時間 10 ms / 2,000 ms
+ 655µs
コード長 551 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,518 ms
コンパイル使用メモリ 42,404 KB
実行使用メモリ 10,404 KB
最終ジャッジ日時 2026-09-23 05:06:35
合計ジャッジ時間 4,129 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge2_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 45
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

program main
  implicit none
  integer*8::N,upper,i,j
  integer*8,allocatable::furui(:)
  read *,N
  upper = INT(SQRT(DBLE(N)+1))
  allocate(furui(2:upper))

  if(MOD(N,3).eq.0) then
     print '(a)',"3"
     return
  else if(MOD(N,4).eq.0) then
     print '(a)',"4"
     return
  end if

  if(MOD(N,2).eq.0) N = N/2
  furui = 0
  do i=3,upper,2
     if(furui(i).ne.0) cycle
     if(MOD(N,i).eq.0) then
        print '(i0)',i
        return
     end if
     do j=i+i,upper,i
        furui(j) = 1
     end do
  end do
  print '(i0)',N
end program main
0