Прості числа#830

Прості числа (Розбір)

Переберемо всі натуральні числа на відрізку від до і виведемо тільки прості. Якщо на відрізку не виявилося жодного простого числа, виведемо повідомлення "Absent".

Реалізація алгоритму

Функція IsPrime перевіряє, чи є число простим.

int IsPrime(int n)
{
  for(int i = 2; i <= sqrt(n); i++)
    if (n % i == 0) return 0;
  return 1;
}

Основна частина програми. Читаємо вхідні дані.

scanf("%d %d",&m,&n);

Спочатку припустимо, що прості числа на відрізку відсутні. Встановимо flag = 0.

flag = 0;

Перебираємо числа від до . Якщо поточне число є простим, виводимо його і встановлюємо flag = 1.

for(i = m; i <= n; i++)
{
  if (IsPrime(i))
  {
    printf("%d\n",i);          
    flag = 1;
  }
}

Якщо не було виведено жодного простого числа (flag = 0), виводимо повідомлення "Absent".

if (flag == 0) puts("Absent");

Python реалізація

import math

Функція IsPrime перевіряє, чи є число простим.

def IsPrime(n):
  for i in range(2, int(math.sqrt(n)) + 1):
    if n % i == 0: return False
  return True

Основна частина програми. Читаємо вхідні дані.

m, n = map(int,input().split())

Спочатку припустимо, що прості числа на відрізку відсутні. Встановимо flag = 0.

flag = 0

Перебираємо числа від до . Якщо поточне число є простим, виводимо його і встановлюємо flag = 1.

for i in range(m, n + 1):
  if IsPrime(i):
    print(i)
    flag = 1

Якщо не було виведено жодного простого числа (flag = 0), виводимо повідомлення "Absent".

if flag == 0: print("Absent")