結果
| 問題 | No.87 Advent Calendar Problem | 
| コンテスト | |
| ユーザー | 👑 | 
| 提出日時 | 2022-03-27 00:04:17 | 
| 言語 | Lua (LuaJit 2.1.1734355927) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 2 ms / 5,000 ms | 
| コード長 | 869 bytes | 
| コンパイル時間 | 134 ms | 
| コンパイル使用メモリ | 6,692 KB | 
| 実行使用メモリ | 6,820 KB | 
| 最終ジャッジ日時 | 2024-10-15 15:34:02 | 
| 合計ジャッジ時間 | 1,222 ms | 
| ジャッジサーバーID (参考情報) | judge3 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 24 | 
ソースコード
local n = io.read("*n")
if n < 4000 then
  local m = 0
  local c = 0
  for i = 2015, n do
    if i % 400 == 0 then
      m = m + 2
    elseif i % 100 == 0 then
      m = m + 1
    elseif i % 4 == 0 then
      m = m + 2
    else
      m = m + 1
    end
    m = m % 7
    if m == 0 then c = c + 1 end
  end
  print(c)
  os.exit()
end
local m = 0
local c = 0
for i = 2015, 2414 do
  if i % 400 == 0 then
    m = m + 2
  elseif i % 100 == 0 then
    m = m + 1
  elseif i % 4 == 0 then
    m = m + 2
  else
    m = m + 1
  end
  m = m % 7
  if m == 0 then c = c + 1 end
end
local rep = math.floor((n - 2014) / 400)
c = c * rep
local rem = n - rep * 400
for i = 2015, rem do
  if i % 400 == 0 then
    m = m + 2
  elseif i % 100 == 0 then
    m = m + 1
  elseif i % 4 == 0 then
    m = m + 2
  else
    m = m + 1
  end
  m = m % 7
  if m == 0 then c = c + 1 end
end
print(c)
            
            
            
        