C Program do sprawdzania, czy liczba jest pierwsza, czy nie

W tym przykładzie nauczysz się sprawdzać, czy liczba całkowita wprowadzona przez użytkownika jest liczbą pierwszą, czy nie.

Aby zrozumieć ten przykład, powinieneś znać następujące tematy programowania w C:

  • C if… else Statement
  • C jak pętla
  • C przerwij i kontynuuj

Liczba pierwsza to dodatnia liczba całkowita, która jest podzielna tylko przez 1siebie. Na przykład: 2, 3, 5, 7, 11, 13, 17

Program do sprawdzania numeru pierwszego

 #include int main() ( int n, i, flag = 0; printf("Enter a positive integer: "); scanf("%d", &n); for (i = 2; i <= n / 2; ++i) ( // condition for non-prime if (n % i == 0) ( flag = 1; break; ) ) if (n == 1) ( printf("1 is neither prime nor composite."); ) else ( if (flag == 0) printf("%d is a prime number.", n); else printf("%d is not a prime number.", n); ) return 0; ) 

Wynik

 Wpisz dodatnią liczbę całkowitą: 29 29 to liczba pierwsza. 

W programie pętla for jest iterowana od i = 2do i < n/2.

W każdej iteracji sprawdza się, czy n jest doskonale podzielne przez i za pomocą:

 if (n % i == 0) ( ) 

Jeśli n jest doskonale podzielne przez i, n nie jest liczbą pierwszą. W tym przypadku flaga jest ustawiona na 1, a pętla jest przerywana za pomocą breakinstrukcji.

Po pętli, jeśli n jest liczbą pierwszą, flaga nadal będzie wynosić 0. Jeśli jednak n jest liczbą inną niż pierwsza, flaga będzie wynosić 1.

Odwiedź tę stronę, aby dowiedzieć się, jak wydrukować wszystkie liczby pierwsze między dwoma przedziałami.

Interesujące artykuły...