Програм Ц ++ за проверу да ли је број прост или не

Пример за проверу да ли је цео број (који је унео корисник) прост број или га не користи фор петља и иф … елсе израз.

Да бисте разумели овај пример, требало би да имате знање о следећим темама програмирања на Ц ++:

  • Ц ++ иф, иф … елсе и угнеждени иф … елсе
  • Ц ++ за Лооп
  • Ц ++ разбити и наставити Изјаву

Цео позитиван број који је дељив само са 1 и сам је познат као прости број.

На пример: 13 је прост број, јер је дељив само са 1 и 13, али, 15 није прост број, јер је дељив са 1, 3, 5 и 15.

Напомена: 0 и 1 нису прости бројеви.

Пример: Проверите основни број

 #include using namespace std; int main() ( int i, n; bool isPrime = true; cout <> n; // 0 and 1 are not prime numbers if (n == 0 || n == 1) ( isPrime = false; ) else ( for (i = 2; i <= n / 2; ++i) ( if (n % i == 0) ( isPrime = false; break; ) ) ) if (isPrime) cout << n << " is a prime number"; else cout << n << " is not a prime number"; return 0; ) 

Оутпут

 Унесите позитиван цео број: 29 29 је прост број.

Овај програм узима од корисника позитиван цео број и чува га у променљивој н.

Приметите да је логичка променљива исПриме иницијализована на trueпочетку програма.

Будући да 0 и 1 нису прости бројеви, прво проверавамо да ли је улазни број један од тих бројева или не. Ако је улазни број 0 или 1 , тада је вредност исПриме постављена на false.

Иначе, почетна вредност исПриме остаје непромењена и forпетља се извршава, чиме се проверава да ли је број који је корисник унео савршено дељив са и или не.

 for (i = 2; i <= n / 2; ++i) ( if (n % i == 0) ( isPrime = false; break; ) ) 

forПетља траје од i == 2до i <= n / 2и повећава вредност И је 1 са сваке итерације.

Петља се завршава на i == n / 2јер не можемо наћи фактор за н мимо броја n / 2 . Дакле, било каква понављања n / 2је сувишна.

Ако је број који је унео корисник савршено дељив са и, тада је исПриме постављено на falseи број неће бити прост број.

Али ако улазни број није савршено дељив са и током целе петље, онда то значи да је улазни број дељив само са 1 и самим тим бројем.

Дакле, дати број је прост број.

У случају n == 2, forпетља се не може покренути и вредност исПриме остаје true.

Занимљиви Чланци...