Original

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 10001st prime number?

和訳

素数を小さい方から6つ並べると 2, 3, 5, 7, 11, 13 であり、6番目の素数は 13 である。

10001 番目の素数を求めよ。

当てにならないソースコード(C#)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using System;
using System.Collections.Generic;

namespace ProjectEuler {
    class Problem7 {
        const int n = 10001;
        public Problem7() {
            bool isPrime;
            List<int> table = new List<int>(n);
            Console.WriteLine(this.ToString());
            for (int i = 3; ; i += 2) {
                isPrime = true;
                foreach (int m in table) {
                    if (i % m == 0) {
                        isPrime = false;
                        break;
                    }
                }
                if (isPrime) {
                    table.Add(i);
                    if (table.Count == n - 1)
                        break;
                }
            }
            Console.WriteLine("> " + table[n - 2]);
        }
    }
}


たぶん一番シンプルな方法。