Makkeybning murakkablik o‘lchovlari asosida dasturni boshqarish oqimining murakkabligini hisoblash.
import math
def orta_arifmetik(massiv, K, L):
orta_arifmetik_summa = sum(massiv[K-1:L])
massiv_hajmi = L - K + 1
orta_arifmetik_qiymati = orta_arifmetik_summa / massiv_hajmi
return orta_arifmetik_qiymati
def murakkablikni_tekshir(n):
if n == 1:
return False
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0:
return False
return True
def murakkabligi_hisobla(massiv, K, L):
murakkabligi_summa = sum([x for x in massiv[K-1:L] if murakkablikni_tekshir(x)])
massiv_hajmi = L - K + 1
murakkabligi_qiymati = murakkabligi_summa / massiv_hajmi
return murakkabligi_qiymati
# Massives tanlang
massiv = [4, 2, 3, 4, 5, 5, 7, 8, 9, 10]
# K-L ni tanlang
K = int(input("K ni kiriting (1 dan katta): "))
L = int(input("L ni kiriting (K dan katta yoki teng): "))
# O'rta-arifmetik va murakkabligi qiymatlarni hisoblash va chiqarish
if 1 < K <= L <= len(massiv):
orta_arifmetik_qiymati = orta_arifmetik(massiv, K, L)
print(f"O'rta-arifmetik qiymati: {orta_arifmetik_qiymati}")
murakkabligi_qiymati = murakkabligi_hisobla(massiv, K, L)
print(f"Murakkabligi qiymati: {murakkabligi_qiymati}")
else:
print("Noto'g'ri kirish. K va L ni tekshiring!")
|