結果

問題 No.407 鴨等素数間隔列の数え上げ
ユーザー tsuchinaga
提出日時 2019-03-08 09:34:50
言語 Go
(1.23.4)
結果
TLE  
実行時間 -
コード長 584 bytes
コンパイル時間 10,501 ms
コンパイル使用メモリ 237,176 KB
実行使用メモリ 18,200 KB
最終ジャッジ日時 2024-06-23 14:57:04
合計ジャッジ時間 15,990 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 5
other AC * 29 TLE * 2
権限があれば一括ダウンロードができます

ソースコード

diff #

package main

import (
	"fmt"
	"math"
)

func main() {
	var n, l int
	_, _ = fmt.Scan(&n, &l)

	cnt := 0
	p := make([]int, 0)
	for i := 2; ; i++ {
		max := (n - 1) * i
		if max > l { // 素数かどうかにかかわらず、その値が入ってオーバーするようなら打ち切る
			break
		}

		// 素数かのチェック
		isP := true
		sq := math.Sqrt(float64(i))
		for _, a := range p {
			if float64(a) > sq {
				break
			}
			if i%a == 0 {
				isP = false
				break
			}
		}
		if !isP {
			continue
		}

		p = append(p, i)
		cnt += l - max + 1
	}
	fmt.Println(cnt)
}
0