硕大的汤姆

硕大的汤姆

The official website of Minhua Chen

02 Apr 2018

质数

突然想知道第 n 个质数是多少,比如说我的生日是 11 月 24 日,那么属于我的那个质数是多少呢?

先写个判断一个数是不是质数的函数

bool isPrime(int n){
  if (n == 1){
    return false;
  }else {
    for (int i = 2; i <= floor(sqrt(n)); i++){
      if (n % i == 0){
          return false;
      }
    }
    return true;
  }
}

然后调用它

int main()
{
  int n;
  cin >> n;
  int count = 0;
  int j = 2;
  while (true) {
    if (isPrime(j)){
      count += 1;
      cout << j << endl;
      if (count >= n)
      {
          break;
      }
    }
    j += 1;
  }
}

结果显示第 1124 个质数为 9043。

多玩几次,第 112 个质数为 613,第 11240 个质数为 119293。可以发现,质数在慢慢变稀疏