#include <stdio.h> bool is_prime(int num) { if (num < 2) { return false; } for (int i = 2; i * i <= num; i++) { if (num % i == 0) { return false; } } return true; } int nth_prime(int n) { int count = 0; int num = 2; while (1) { if (is_prime(num)) { count++; if (count == n) { return num; } } num++; } } int main() { printf("%d\n", nth_prime(10)); // برای مثال، چاپ عدد اول دهم return 0; }
این الگوریتم از تابع is_prime برای بررسی اینکه آیا یک عدد اول است یا خیر، استفاده میکند. سپس با استفاده از حلقه، عددی که باید چک شود را افزایش میدهد تا اینکه به تعداد مورد نظر از اعداد اول برسد. در نهایت، عدد اول n-ام را چاپ میکند. در این مثال، عدد اول دهم چاپ میشود.