Massivin ən böyük elementi

   Bu dərsimizdə iki ölçülü massivin ən böyük elementinin tapılması alqoritmini nəzərdən keçirəcəyik. Giriş verilənləri aşağıdakı kimi veriləcək:

3 3
1 8 3
4 9 6
7 2 5

   Burada ilk sətirdə massivin sətir və sütünlarının sayı, ikinci sətirdən etibarən isə massivin elementləri verilməlidir. Sətir və sütün sayını göstərməklə massivin elementlərini istədiyiniz şəkildə daxil edə bilərsiniz. Aşağıdakı proqram bu massivin ən böyük elementini onun sətir və sütun nömrələri ilə bərabər ekrana çıxaracaq:

dim = list(map(int,input().split()))
n = dim[0]
m = dim[1]

mas = []
for i in range(n):
    mas.append(list(map(int,input().split())))

p = q = 0
max = mas[0][0]

for i in range(n):
    for j in range(m):
        if mas[i][j] > max:
            max = mas[i][j]
            p, q = i, j

print("Ən böyük element: mas[{0},{1}] = {2}".format(p+1,q+1,max))

   Beləliklə massivin elementləri daxil edildikdən sonra biz şərti olaraq massvin ən böyük elementinin onun ilk elementi olduğunu fərz edirik. Təbii ki, bu zaman bu ən böyük elementin sətir və sütün nömrələrinin də sıfır olduğunu qəbul edirik. Xatırladaq ki, proqramlaşdırmada sıra nömrələri sıfırdan başlayır.

   Daha sonra iç-içə sayğaclı dövrlərin vasitəsilə massivin elementlərini ən böyük elementi tapmaq məqsədilə yoxlayırıq. Bu zaman bütün elementlər bir-bir maksimum qəbul edilən elementlə müqayisə edilir, və əgər hər hansı bir element maksimumdan böyük olarsa, o zaman maksimum element kimi o qəbul edilir.

  Sonda massivin ən böyük elementi onun sətir və sütun nömrələri ilə bərabər ekrana çıxarılır. Diqqət edin ki, istifadəçiyə sətir və sütün nömrələri daha aydın olsun deyə, biz onların üzərinə bir vahid gəlmiş oluruq.

   Əlavə olaraq onu da qeyd edək ki, Python proqramlaşdırma dilində verilmiş ardıcıllıqda maksimum elementi tapmaq üçün max() funksiyası təyin olunmuşdur. Bu funksiyanı tətbiq etməklə də massivin maksimum elementini tapmaq mümkündür. Bizim misalda verilmiş massiv iki ölçülü olduğuna görə əvvəlcə elementlərinin qiymətləri ən böyük olan sətir tapılır, sonra da bu sətirdəki ən böyük element tapılır:

dim = list(map(int,input().split()))
n = dim[0]
m = dim[1]
mas = []
for i in range(n):
    mas.append(list(map(int,input().split())))
print(max(max(mas)))

   Bununla belə onu da qeyd edək ki, hazır max() funksiyasını istifadə etdikdə massivin ən böyük elementinin sətir və sütun nömrələrini əldə etmək mümkün olmur.

Ən kiçik ortaq bölünən (ƏKOB)

   Riyaziyyatdan da bildiyiniz kimi ən kiçik ortaq bölünən (ƏKOB) – iki natural ədədin hər birinə qalıqsız bölünən natural ədədlərdən ən kiçiyidir. ƏKOB-u tapmaq üçün aşağıdakı qaydadan istifadə olunur:

  1. Ədədlər sadə vuruqlara ayrılır;
  2. Bu ədədlərdən birinin ayrılışı götürülür;
  3. O biri ədədlərin ayrılışlarından birincisinin ayrılışında olmayan vuruqlar götürülür və birinci ədədin vuruqlarının yanına yazılır;
  4. Alınmış vuruqların hasili tapılır.

   Proqramlaşdırmada isə ƏKOB-u tapmaq üçün aşağıda göstərəcəyimiz iki üsuldan istifadə edirlər. Gəlin hər iki üsulu nəzərdən keçirək.

   Birinci üsulda aşağıdakı alqoritmdən istifadə olunur:

mas = list(map(int, input().split()))
a, b = mas[0], mas[1]

if a > b:
    z = a
else:
    z = b
while True:
    if (z % a == 0) and (z % b == 0):
        lcm = z
        break
    z += 1

print(lcm)

   İkinci üsulda isə biz bu ədədlərin ƏBOB-undan istifadə edəcəyik. Bildiyiniz kimi verilmiş iki ədədin ƏBOB və ƏKOB-ları arasında aşağıdakı münasibət vardır:

a * b = ƏBOB(a,b) * ƏKOB(a,b)

   Belə olan halda verilmiş iki natural ədədin ƏKOB-unu onların hasilini ƏBOB-larına bölməklə də tapmaq olar:

mas = list(map(int, input().split()))
a, b = mas[0], mas[1]
c = a*b

# Öncə ədədlərin ƏBOB-unu tapırıq.
while a != b:
    if a > b:
        a = a - b
    else:
        b = b - a

print (c//a)

   Hər iki proqramın kodunu incələyin, daha sonra skriptdə yazın və icra edin.