Задача по бинарному поиску


Download 18.83 Kb.
Sana06.11.2023
Hajmi18.83 Kb.
#1750497
TuriЗадача
Bog'liq
Ганиев Азиз


Задача по линейному поиску
def linear_search(arr, target):
for i in range(len(arr)):
if arr[i] == target:
return i
return -1

# Пример использования


my_list = [4, 2, 7, 1, 9, 5]
target_number = int(input("Введите число для поиска: "))

result = linear_search(my_list, target_number)


if result != -1:


print(f"Число {target_number} найдено в индексе {result}.")
else:
print("Число не найдено.")



Задача по бинарному поиску
def find_square_root(x, epsilon):
left, right = 0, x
while True:
mid = (left + right) / 2
if abs(mid * mid - x) < epsilon:
return mid
elif mid * mid < x:
left = mid
else:
right = mid

# Пример использования


x = 16 # Искомое число
epsilon = 0.01 # Заданная точность

result = find_square_root(x, epsilon)


print(f"Приближенный корень числа {x} с точностью {epsilon} равен {result}")

Задача по отсортировку массива insertsort
def insertion_sort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i - 1
while j >= 0 and key < arr[j]:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key

# Пример использования


my_list = [12, 11, 13, 5, 6]
print("Исходный массив:", my_list)

insertion_sort(my_list)


print("Отсортированный массив:", my_list)



Задача по отсортировку массива bublesort
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]

# Пример использования


my_list = [64, 34, 25, 12, 22, 11, 90]
print("Исходный массив:", my_list)

bubble_sort(my_list)


print("Отсортированный массив:", my_list)


Светофор
# Получение времени горения светофора от пользователя
r = int(input("Введите время горения красного света (в секундах): "))
g = int(input("Введите время горения зеленого света (в секундах): "))
y = int(input("Введите время горения желтого света (в секундах): "))

# Вычисление общего времени горения светофора


total_time = r + g + y

# Вычисление количества циклов для каждого цвета


red_cycles = r / total_time
green_cycles = g / total_time
yellow_cycles = y / total_time

# Вывод результатов


print(f"Общее время горения светофора: {total_time} секунд.")
print(f"Количество красных циклов: {red_cycles:.2f}.")
print(f"Количество зеленых циклов: {green_cycles:.2f}.")
print(f"Количество желтых циклов: {yellow_cycles:.2f}.")

Download 18.83 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling