Sadə ədədlər#830

Sadə ədədlər (Həll təhlili)

[m; n] aralığında olan bütün təbii ədədləri gözdən keçirək və yalnız sadə ədədləri çıxaraq. Əgər [m; n] aralığında heç bir sadə ədəd yoxdursa, "Absent" mesajını çıxağ.

Alqoritmin reallaşdırılması

IsPrime funksiyası, ədədinin sadə olub-olmadığını yoxlayır.

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

Proqramın əsas hissəsi. Giriş məlumatlarını oxuyuruq.

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

Əvvəlcədən fərz edək ki, aralıqda sadə ədədlər yoxdur. flag = 0 quraq.

flag = 0;

-dən -ə qədər olan ədədləri gözdən keçiririk. Əgər cari ədəd sadədirsə, onu çıxaraq və flag = 1 quraq.

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

Əgər heç bir sadə ədəd çıxmadı (flag = 0), "Absent" mesajını çıxağ.

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

Python reallaşdırılması

import math

IsPrime funksiyası, ədədinin sadə olub-olmadığını yoxlayır.

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

Proqramın əsas hissəsi. Giriş məlumatlarını oxuyuruq.

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

Əvvəlcədən fərz edək ki, aralıqda sadə ədədlər yoxdur. flag = 0 quraq.

flag = 0

-dən -ə qədər olan ədədləri gözdən keçiririk. Əgər cari ədəd sadədirsə, onu çıxaraq və flag = 1 quraq.

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

Əgər heç bir sadə ədəd çıxmadı (flag = 0), "Absent" mesajını çıxağ.

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