Абрамян решебник с языке программирование Python
103 subscribers
9 photos
1 file
3 links
Download Telegram
Array4.

N = int(input("Введите целое число N (>1): "))
A = int(input("Введите первый член геометрической прогрессии A: "))
D = int(input("Введите знаменатель геометрической прогрессии D: "))

progression = [A] # Создаем пустой массив с первым элементом A

for i in range(1, N):
progression.append(progression[i-1] * D) # Добавляем следующий элемент в массив, умножая предыдущий на D

print("Массив размера N, содержащий N первых членов геометрической прогрессии:")
print(progression)
Array5.

N = int(input("Введите целое число N (>2): "))

fibonacci = [1, 1] # Создаем массив с первыми двумя элементами

for i in range(2, N):
fibonacci.append(fibonacci[i-2] + fibonacci[i-1]) # Добавляем следующий элемент в массив, равный сумме двух предыдущих

print("Целочисленный массив размера N, содержащий N первых элементов последовательности чисел Фибоначчи:")
print(fibonacci)
Array6.

N = int(input("Введите целое число N (>2): "))
A = int(input("Введите первый элемент A: "))
B = int(input("Введите второй элемент B: "))

sequence = [A, B] # Создаем массив с первыми двумя элементами

for i in range(2, N):
sequence.append(sum(sequence)) # Добавляем следующий элемент в массив, равный сумме всех предыдущих

print("Целочисленный массив размера N, первый элемент которого равен A, второй равен B, а каждый последующий элемент равен сумме всех предыдущих:")
print(sequence)
👍1
Array 7.

def reverse_array(arr):
for i in range(len(arr)-1, -1, -1):
print(arr[i])

# Пример использования
array = [1, 2, 3, 4, 5]
reverse_array(array)
Результат выполнения кода будет:

5
4
3
2
1
Array 8.

def print_odd_numbers(arr):
count = 0
for i in range(len(arr)):
if arr[i] % 2 != 0:
print(arr[i])
count += 1
print("Количество нечетных чисел:", count)

# Пример использования
array = [1, 2, 3, 4, 5]
print_odd_numbers(array)
Результат выполнения кода будет:

1
3
5
Количество нечетных чисел: 3
Array 9.

def print_even_numbers(arr):
count = 0
for i in range(len(arr)-1, -1, -1):
if arr[i] % 2 == 0:
print(arr[i])
count += 1
print("Количество четных чисел:", count)

# Пример использования
array = [1, 2, 3, 4, 5]
print_even_numbers(array)
Результат выполнения кода будет:

4
2
Количество четных чисел: 2
Array10.

def print_even_odd(arr):
even_nums = [num for i, num in enumerate(arr) if i % 2 == 0 and num % 2 == 0]
odd_nums = [num for i, num in enumerate(arr[::-1]) if i % 2 == 0 and num % 2 != 0]

result = even_nums + odd_nums[::-1]

for num in result:
print(num, end=' ')

# Пример использования
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print_even_odd(arr)
Результат выполнения программы будет:

2 4 6 8 10 9 7 5 3 1
Array11.

def print_elements(arr, k):
result = [arr[i-1] for i in range(k, len(arr)+1, k)]

print(*result)

# Пример использования
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
k = 3
print_elements(arr, k)
Результат выполнения программы будет:

3 6 9
Array12.

def print_even_elements(arr):
result = [arr[i] for i in range(1, len(arr), 2)]

print(*result)

# Пример использования
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print_even_elements(arr)
Результат выполнения программы будет:

2 4 6 8 10
Array10. Вот другое решение задачи:

def print_even_odd(arr):
even_nums = []
odd_nums = []

for num in arr:
if num % 2 == 0:
even_nums.append(num)
else:
odd_nums.append(num)

even_nums.sort()
odd_nums.sort(reverse=True)

result = even_nums + odd_nums

for num in result:
print(num, end=' ')

# Пример использования
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print_even_odd(arr)
Результат выполнения программы будет:

2 4 6 8 10 9 7 5 3 1
Array11. Вот другое решение задачи:

def print_elements(arr, k):
result = []

for i in range(k-1, len(arr), k):
result.append(arr[i])

print(*result)

# Пример использования
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
k = 3
print_elements(arr, k)
Результат выполнения программы будет:

3 6 9
Array12. Вот другое решение задачи:

def print_even_elements(arr):
result = []

for i in range(1, len(arr), 2):
result.append(arr[i])

print(*result)

# Пример использования
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print_even_elements(arr)
Результат выполнения программы будет:

2 4 6 8 10
Оба решения являются рабочими и дают одинаковый результат. Вы можете выбрать то решение, которое вам больше нравится или лучше соответствует вашим потребностям.
1
Array13.

N = len(A)
for i in range(N-1, 0, -2):
print(A[i])
Array14.

N = len(A)
for i in range(1, N, 2):
print(A[i])
for i in range(0, N, 2):
print(A[i])
Array15.

def print_array_elements(array):
n = len(array)
# Вывод элементов с нечетными индексами в порядке возрастания
for i in range(0, n, 2):
print(array[i], end=' ')
# Вывод элементов с четными индексами в порядке убывания
for i in range(n-1, 0, -2):
print(array[i], end=' ')

# Пример использования функции
A = [1, 2, 3, 4, 5, 6]
print_array_elements(A)
Результат выполнения данного кода будет:

1 3 5 6 4 2
Array16.

def print_array_elements(array):
n = len(array)
# Вывод элементов массива в нужном порядке
for i in range(n):
if i % 2 == 0:
print(array[i // 2], end=' ')
else:
print(array[n - (i // 2) - 1], end=' ')

# Пример использования функции
A = [1, 2, 3, 4, 5, 6]
print_array_elements(A)
Результат выполнения данного кода будет:

1 6 2 5 3 4
Array 17
def print_array_elements(array):
start = 0
end = len(array) - 1

while start <= end:
print(array[start], end=' ')
if start != end:
print(array[end], end=' ')
start += 1
end -= 1

# Пример использования
A = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print_array_elements(A)
Вывод:
1 10 2 9 3 8 4 7 5 6
Array18:

def find_element(A):
for i in range(len(A)):
if A[i] < A[9]:
return A[i]
return 0

# Пример использования
A = [5, 8, 3, 10, 7, 2, 6, 9, 4, 1]
result = find_element(A)
print(result)
Array19:

def find_index(A):
for i in range(len(A)-1, 0, -1):
if A[0] < A[i] < A[9]:
return i
return 0

# Пример использования
A = [5, 8, 3, 10, 7, 2, 6, 9, 4, 1]
result = find_index(A)
print(result)
Array20:

def sum_elements(A, K, L):
total = 0
for i in range(K-1, L):
total += A[i]
return total

# Пример использования
A = [5, 8, 3, 10, 7, 2, 6, 9, 4, 1]
K = 3
L = 7
result = sum_elements(A, K, L)
print(result)
👍21
Array21:
def find_average(arr, K, L):
sub_array = arr[K-1:L]
average = sum(sub_array) / len(sub_array)
return average

# Пример использования функции
array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
K = 2
L = 6
result = find_average(array, K, L)
print("Среднее арифметическое элементов массива с номерами от", K, "до", L, "включительно:", result)
Array22:
def find_sum(arr, K, L):
sub_array = arr[:K-1] + arr[L:]
total_sum = sum(sub_array)
return total_sum

# Пример использования функции
array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
K = 2
L = 6
result = find_sum(array, K, L)
print("Сумма всех элементов массива, кроме элементов с номерами от", K, "до", L, "включительно:", result)
👍1
Array23:
def find_average_except_range(arr, K, L):
sub_array = arr[:K-1] + arr[L:]
average = sum(sub_array) / len(sub_array)
return average

# Пример использования функции
array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
K = 2
L = 6
result = find_average_except_range(array, K, L)
print("Среднее арифметическое всех элементов массива, кроме элементов с номерами от", K, "до", L, "включительно:", result)
Array24:
def check_arithmetic_progression(arr):
diff = arr[1] - arr[0]
for i in range(2, len(arr)):
if arr[i] - arr[i-1] != diff:
return 0
return diff

# Пример использования функции
array = [1, 3, 5, 7, 9]
result = check_arithmetic_progression(array)
if result != 0:
print("Элементы массива образуют арифметическую прогрессию с разностью:", result)
else:
print("Элементы массива не образуют арифметическую прогрессию")
Array25:
def check_geometric_progression(arr):
ratio = arr[1] / arr[0]
for i in range(2, len(arr)):
if arr[i] / arr[i-1] != ratio:
return 0
return ratio

# Пример использования функции
array = [2, 6, 18, 54, 162]
result = check_geometric_progression(array)
if result != 0:
print("Элементы массива образуют геометрическую прогрессию со знаменателем:", result)
else:
print("Элементы массива не образуют геометрическую прогрессию")
Array26:
def check_alternating_numbers(arr):
for i in range(len(arr)):
if i % 2 == 0 and arr[i] % 2 == 0:
return i
elif i % 2 == 1 and arr[i] % 2 == 1:
return i
return 0

# Пример использования функции
array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
result = check_alternating_numbers(array)
if result != 0:
print("Числа в массиве не чередуются, первый нарушающий элемент находится на позиции:", result)
else:
print("Числа в массиве чередуются")
👍1
Array27:
def check_alternating(arr):
for i in range(len(arr)-1):
if arr[i] * arr[i+1] > 0:
return i+1
return 0

# Пример использования:
array = [1, -2, 3, -4, 5, -6]
result = check_alternating(array)
print(result) # Вывод: 0

array = [1, -2, 3, 4, 5, -6]
result = check_alternating(array)
print(result) # Вывод: 4
Array28:
def find_min_even(arr):
min_val = float('inf')
for i in range(1, len(arr), 2):
if arr[i] < min_val:
min_val = arr[i]
return min_val

# Пример использования:
array = [5, 2, 9, 1, 7, 4]
result = find_min_even(array)
print(result) # Вывод: 2
Array29:
def find_max_odd(arr):
max_val = float('-inf')
for i in range(0, len(arr), 2):
if arr[i] > max_val:
max_val = arr[i]
return max_val

# Пример использования:
array = [5, 2, 9, 1, 7, 4]
result = find_max_odd(array)
print(result) # Вывод: 9
Array30:
def find_greater_than_right(arr):
indices = [i for i in range(len(arr)-1) if arr[i] > arr[i+1]]
return indices, len(indices)

# Пример использования:
array = [1, 3, 2, 5, 4, 7, 6]
indices, count = find_greater_than_right(array)
print(indices) # Вывод: [1, 3, 5]
print(count) # Вывод: 3
Array31:
def find_greater_than_left(arr):
indices = [i for i in range(1, len(arr)) if arr[i] > arr[i-1]]
return indices[::-1], len(indices)

# Пример использования:
array = [1, 3, 2, 5, 4, 7, 6]
indices, count = find_greater_than_left(array)
print(indices) # Вывод: [6, 4, 2]
print(count) # Вывод: 3
Array32:
def find_local_minimum(arr):
for i in range(1, len(arr)-1):
if arr[i] < arr[i-1] and arr[i] < arr[i+1]:
return i
return -1

# Пример использования:
array = [5, 2, 9, 1, 7, 4]
result = find_local_minimum(array)
print(result) # Вывод: 3
Array33:
def find_local_maximum(arr):
for i in range(1, len(arr)-1):
if arr[i] > arr[i-1] and arr[i] > arr[i+1]:
return i
return -1

# Пример использования:
array = [5, 2, 9, 1, 7, 4]
result = find_local_maximum(array)
print(result) # Вывод: 2
Array34:
def find_max_local_minimum(arr):
max_val = float('-inf')
for i in range(1, len(arr)-1):
if arr[i] < arr[i-1] and arr[i] < arr[i+1]:
if arr[i] > max_val:
max_val = arr[i]
return max_val

# Пример использования:
array = [5, 2, 9, 1, 7, 4]
result = find_max_local_minimum(array)
print(result) # Вывод: 4
Array32:
arr = [5, 2, 9, 1, 7, 4]
for i in range(len(arr)):
if i == 0 and arr[i] < arr[i+1]:
print(i)
break
elif i == len(arr)-1 and arr[i] < arr[i-1]:
print(i)
break
elif arr[i] < arr[i-1] and arr[i] < arr[i+1]:
print(i)
break
else:
print(-1)
Array33:
arr = [5, 2, 9, 1, 7, 4]
for i in range(len(arr)):
if i == 0 and arr[i] > arr[i+1]:
print(i)
break
elif i == len(arr)-1 and arr[i] > arr[i-1]:
print(i)
break
elif arr[i] > arr[i-1] and arr[i] > arr[i+1]:
print(i)
break
else:
print(-1)
Array34:
arr = [5, 2, 9, 1, 7, 4]
max_val = float('-inf')
for i in range(len(arr)):
if i == 0 or i == len(arr)-1:
continue
if arr[i] < arr[i-1] and arr[i] < arr[i+1]:
if arr[i] > max_val:
max_val = arr[i]
print(max_val)
Надеюсь, это решение поможет вам решить задачи.
Array35:
def find_min_local_max(arr):
min_local_max = float('inf')
for i in range(1, len(arr)-1):
if arr[i] > arr[i-1] and arr[i] > arr[i+1]:
min_local_max = min(min_local_max, arr[i])
return min_local_max

# Пример использования:
arr = [5, 2, 9, 1, 7, 4]
min_local_max = find_min_local_max(arr)
print(min_local_max)
Array36:
def find_max_not_min_max(arr):
max_not_min_max = float('-inf')
for i in range(len(arr)):
if i == 0 or i == len(arr)-1:
continue
if arr[i] != max(arr[i-1], arr[i], arr[i+1]):
max_not_min_max = max(max_not_min_max, arr[i])
return max_not_min_max

# Пример использования:
arr = [5, 2, 9, 1, 7, 4]
max_not_min_max = find_max_not_min_max(arr)
print(max_not_min_max)
Array37:
def count_increasing_sections(arr):
count = 0
increasing = False
for i in range(1, len(arr)):
if arr[i] > arr[i-1]:
if not increasing:
count += 1
increasing = True
else:
increasing = False
return count

# Пример использования:
arr = [5, 2, 9, 1, 7, 4]
count = count_increasing_sections(arr)
print(count)
Array38:
def count_decreasing_sections(arr):
count = 0
for i in range(1, len(arr)):
if arr[i] < arr[i-1]:
count += 1
return count

# Пример использования:
arr = [5, 4, 3, 2, 1, 6, 5, 4, 3]
result = count_decreasing_sections(arr)
print(result)
Array39:
def count_monotonic_sections(arr):
count = 1
for i in range(1, len(arr)):
if (arr[i] - arr[i-1]) * (arr[i-1] - arr[i-2]) < 0:
count += 1
return count

# Пример использования:
arr = [1, 2, 3, 2, 1, 4, 5, 6, 5, 4, 3]
result = count_monotonic_sections(arr)
print(result)
Array40:
def find_closest_element(arr, R):
min_diff = float('inf')
closest_element = None
for i in range(len(arr)):
diff = abs(arr[i] - R)
if diff < min_diff:
min_diff = diff
closest_element = arr[i]
return closest_element

# Пример использования:
arr = [1, 3, 5, 7, 9]
R = 6
result = find_closest_element(arr, R)
print(result)
Array41:
def find_max_sum_pair(arr):
max_sum = float('-inf')
max_sum_pair = None
for i in range(len(arr)-1):
current_sum = arr[i] + arr[i+1]
if current_sum > max_sum:
max_sum = current_sum
max_sum_pair = (arr[i], arr[i+1])
return max_sum_pair

# Пример использования:
arr = [1, 3, 5, 2, 7, 4]
result = find_max_sum_pair(arr)
print(result)
👍1🕊1
Array38:
def count_decreasing_sections(arr):
count = 0
for i in range(1, len(arr)):
if arr[i] < arr[i-1]:
count += 1
return count

# Пример использования:
arr = [5, 4, 3, 2, 1, 6, 5, 4, 3]
result = count_decreasing_sections(arr)
print(result)
Array39:
def count_monotonic_sections(arr):
count = 1
for i in range(1, len(arr)):
if (arr[i] - arr[i-1]) * (arr[i-1] - arr[i-2]) < 0:
count += 1
return count

# Пример использования:
arr = [1, 2, 3, 2, 1, 4, 5, 6, 5, 4, 3]
result = count_monotonic_sections(arr)
print(result)
Array40:
def find_closest_element(arr, R):
min_diff = float('inf')
closest_element = None
for i in range(len(arr)):
diff = abs(arr[i] - R)
if diff < min_diff:
min_diff = diff
closest_element = arr[i]
return closest_element

# Пример использования:
arr = [1, 3, 5, 7, 9]
R = 6
result = find_closest_element(arr, R)
print(result)
Array41:
def find_max_sum_pair(arr):
max_sum = float('-inf')
max_sum_pair = None
for i in range(len(arr)-1):
current_sum = arr[i] + arr[i+1]
if current_sum > max_sum:
max_sum = current_sum
max_sum_pair = (arr[i], arr[i+1])
return max_sum_pair

# Пример использования:
arr = [1, 3, 5, 2, 7, 4]
result = find_max_sum_pair(arr)
print(result)
Array42:
arr = [1, 3, 5, 7, 9]
R = 6
closest_sum = float('inf')
closest_pair = None
for i in range(len(arr)-1):
for j in range(i+1, len(arr)):
current_sum = arr[i] + arr[j]
if abs(current_sum - R) < abs(closest_sum - R):
closest_sum = current_sum
closest_pair = (arr[i], arr[j])
print(closest_pair)
Array43:
arr = [1, 2, 2, 3, 4, 4, 4, 5]
unique_elements = []
for element in arr:
if element not in unique_elements:
unique_elements.append(element)
print(len(unique_elements))
Array44:
arr = [1, 3, 5, 2, 7, 4, 5]
duplicate_indices = []
for i in range(len(arr)):
for j in range(i+1, len(arr)):
if arr[i] == arr[j] and i not in duplicate_indices:
duplicate_indices.extend([i, j])
duplicate_indices.sort()
print(duplicate_indices)
Array45. Для решения данной задачи можно использовать следующий алгоритм:

1. Инициализировать переменные minDiff и index1, index2 со значениями, которые гарантированно не встречаются в массиве.
2. Проходить по массиву и для каждого элемента выполнять следующие шаги:
- Если разность между текущим элементом и предыдущим элементом меньше minDiff, то обновить minDiff и сохранить индексы текущего и предыдущего элементов в index1 и index2 соответственно.
3. Вывести значения index1 и index2 в порядке возрастания.

Пример кода на Python:

def find_closest_elements(arr):
minDiff = float('inf')
index1, index2 = -1, -1

for i in range(1, len(arr)):
diff = abs(arr[i] - arr[i-1])
if diff < minDiff:
minDiff = diff
index1 = i-1
index2 = i

return index1, index2

# Пример использования
array = [1, 5, 9, 2, 7]
index1, index2 = find_closest_elements(array)
print(index1, index2) # Выведет: 2 3
Array46. Для решения данной задачи можно использовать следующий алгоритм:

1. Инициализировать переменные minDiff и index1, index2 со значениями, которые гарантированно не встречаются в массиве.
2. Проходить по массиву и для каждого элемента выполнять следующие шаги:
- Если разность между текущим элементом и числом R меньше minDiff, то обновить minDiff и сохранить индекс текущего элемента в index1.
- Если разность между текущим элементом и числом R равна minDiff, то обновить index2 на текущий индекс.
3. Вывести значения index1 и index2 в порядке возрастания.

Пример кода на Python:

def find_closest_sum_elements(arr, R):
minDiff = float('inf')
index1, index2 = -1, -1

for i in range(len(arr)):
diff = abs(arr[i] - R)
if diff < minDiff:
minDiff = diff
index1 = i
index2 = -1
elif diff == minDiff:
index2 = i

return index1, index2

# Пример использования
array = [1, 5, 9, 2, 7]
R = 10
index1, index2 = find_closest_sum_elements(array, R)
print(index1, index2) # Выведет: 2 3
Array47. Для решения данной задачи можно использовать множество (set) для хранения уникальных элементов массива. Затем можно вернуть размер этого множества.

Пример кода на Python:

def count_unique_elements(arr):
unique_elements = set(arr)
return len(unique_elements)

# Пример использования
array = [1, 5, 9, 2, 7, 5, 9]
count = count_unique_elements(array)
print(count) # Выведет: 5
👍1
Array48.

def find_max_same_elements(arr):
count_dict = {}
max_count = 0

for num in arr:
if num in count_dict:
count_dict[num] += 1
else:
count_dict[num] = 1

if count_dict[num] > max_count:
max_count = count_dict[num]

return max_count

# Пример использования
array = [1, 5, 9, 2, 7, 5, 9, 5]
max_count = find_max_same_elements(array)
print(max_count) # Выведет: 3
Array49.

def check_permutation(arr):
n = len(arr)
check_array = [0] * n

for num in arr:
if num < 1 or num > n:
return arr.index(num) + 1
check_array[num-1] = 1

if 0 in check_array:
return check_array.index(0) + 1
else:
return 0

# Пример использования
array1 = [1, 5, 3, 2, 4]
array2 = [1, 5, 3, 2, 2]
result1 = check_permutation(array1)
result2 = check_permutation(array2)
print(result1) # Выведет: 0
print(result2) # Выведет: 5
Array50.
def count_inversions(arr):
if len(arr) <= 1:
return 0

mid = len(arr) // 2
left = arr[:mid]
right = arr[mid:]

inversions = count_inversions(left) + count_inversions(right)

i = j = k = 0
while i < len(left) and j < len(right):
if left[i] <= right[j]:
arr[k] = left[i]
i += 1
else:
arr[k] = right[j]
j += 1
inversions += len(left) - i
k += 1

while i < len(left):
arr[k] = left[i]
i += 1
k += 1

while j < len(right):
arr[k] = right[j]
j += 1
k += 1

return inversions

# Пример использования
array = [2, 4, 1, 3, 5]
inversions = count_inversions(array)
print(inversions) # Выведет: 3
В данном примере массив [2, 4, 1, 3, 5] содержит 3 инверсии: (2, 1), (4, 1) и (4, 3).