C言語でn個の素数を出力する方法は何ですか?

C言語で書かれた最初のn個の素数を出力するプログラムは次のとおりです。

#include <stdio.h>

int isPrime(int num) {
  if (num <= 1) {
    return 0;
  }
  
  for (int i = 2; i * i <= num; i++) {
    if (num % i == 0) {
      return 0;
    }
  }
  
  return 1;
}

void printPrimes(int n) {
  int count = 0;
  int num = 2;
  
  while (count < n) {
    if (isPrime(num)) {
      printf("%d ", num);
      count++;
    }
    num++;
  }
}

int main() {
  int n;
  
  printf("请输入要输出的素数个数:");
  scanf("%d", &n);
  
  printf("前%d个素数为:", n);
  printPrimes(n);
  
  return 0;
}

プログラムをコンパイルして実行し、出力したい素数の数を入力すると、指定された数の素数が出力されます。

bannerAds