【Project Euler】10001番目の素数は?【プログラミング】
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

【Project Euler】10001番目の素数は?【プログラミング】

2018-03-14 19:00

    Problem 7: 10001st prime

    By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prime is 13.

    What is the 10 001st prime number?

    簡単に言うと、10001番目の素数を求めよということです。
    これも簡単ですね、調べる自然数は奇数(偶数は2で割れてしまう)で、その数字までで求めた素数で割り、割り切れるかどうかを判定します。
    ・Python

    # 素数を判定する関数
    def is_prime(val, primes):
    # 1か2の倍数であれば除外する
    if val==1 or val%2 == 0:
    return False

    # 素数で割れるか判定する
    for div in primes:
    # valをdivで割り算する
    quo, rem = divmod(val, div)

    if rem == 0:
    return False
    return True

    # 初期値を設定する
    primes = [2]
    num = 1 # 2は考えない
    val = 3

    # 素数を配列に加える
    while num < 10001:
    if is_prime(val, primes):
    num += 1
    primes.append(val)

    val += 2

    ・C++


    広告
    コメントを書く
    コメントをするには、
    ログインして下さい。