-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLesson 8.py
More file actions
74 lines (56 loc) · 3.49 KB
/
Lesson 8.py
File metadata and controls
74 lines (56 loc) · 3.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# Задание 1
# В первой строке вводится число N.
# Далее в N строк вводится N чисел (1 ≤ N ≤ 10000),
# по одному числу на строке.
# Все числа по модулю не превышают 10e5.
# Переверните массив чисел.
# Выведите N чисел - перевернутый массив.
N = int(input("Введите количество чисел(1 ≤ N ≤ 10000): "))
numbers = []
print("Введите каждое число из последовательности на отдельной строке: ")
for i in range(N):
num = int(input())
numbers.append(num)
reversed_numbers = numbers[::-1]
for num in reversed_numbers:
print(num)
# Задание 2
# В первую строчку вводится число N (1 ≤ N ≤ 100 000).
# В следующую строку через пробел вводятся N чисел (1 ≤ Ai ≤ 10e9).
# Требуется написать метод, который получает на вход массив
# и изменяет его таким образом,
# чтобы на первом месте стоял последний элемент,
# на втором - первый, на третьем - второй и т. д.
# Выведите N чисел - измененный массив.
N = int(input("Введите число(1 ≤ N ≤ 10000): "))
arr = (input("Введите через пробел N чисел: ").split())
if N > 1:
new_arr = [arr[-1]] + arr[:-1]
else:
new_arr = arr
print (' '.join(new_arr))
# Задание 3
# На берегу реки стояли n рыбаков, все они хотели перебраться на другой берег
# Одна лодка может выдержать не более m килограмм, при этом в лодку помещается не более 2 человек.
# Определите, какое минимальное число лодок нужно,
# чтобы перевезти на другой берег всех рыбаков
# В первую строку вводится число m (1 ≤ m ≤ 10e6) - максимальная масса,
# которую может выдержать одна лодка.
# Во вторую строку вводится число n (1 ≤ n ≤ 100) - количество рыбаков.
# В следующие N строк вводится по одному числу Ai (1 ≤ Ai ≤ m) - вес каждого путешественника.
# Программа должна вывести одно число - минимальное количество лодок,
# необходимое для переправки всех рыбаков на противоположный берег.
m = int(input('введите максимальную массу(1 ≤ m ≤ 10e6): '))
n = int(input('введите количество рыбаков(1 ≤ n ≤ 100): '))
print('введите вес каждого путешественника на отдельной строке: ')
weights = [int(input()) for _ in range(n)]
boats = 0
while weights:
heaviest = max(weights)
weights.remove(heaviest)
possible_pairs = [w for w in weights if w <= m - heaviest]
if possible_pairs:
pair = max(possible_pairs)
weights.remove(pair)
boats += 1
print(boats)