from random import randint
def task_26():
"""
26. дано число, введенное с клавиатуры.
определите сумму квадратов нечетных цифр в числе.
"""
def square():
number = int(input("number: "))
s = 0
for x in str(number):
if int(x) % 2 ! = 0:
s += int(x) ** 2
print("cума квадратов нечетных цифр в числе = {}".format(s))
square()
def task_27():
"""
27. найдите сумму чисел, вводимых с клавиатуры.
количество вводимых чисел заранее неизвестно.
окончание ввода, например, слово «стоп».
"""
def number_sum():
numbers_sum = 0
while true:
number = input("number: ")
if number == 'стоп' or number == 'стоп':
break
else:
numbers_sum += int(number)
print('suma {}'.format(numbers_sum))
number_sum()
def task_28():
"""
28. задана строка из стихотворения:
«мой дядя самых честных правил, когда не в шутку занемог,
он уважать себя заставил и лучше выдумать не мог»
удалите из строки все слова, начинающиеся на букву «м».
результат вывести на экран в виде строки.
подсказка: вспомните про модификацию списков.
"""
def word_deleted(line):
line_split = line.split()
for i in range(len(line_split) - 1): # 0,19
if line_split[i][0] == "м" or line_split[i][0] == "м":
del line_split[i]
return line_split
lines = "мой дядя самых честных правил, когда не в шутку занемог, " \
"он уважать себя заставил и лучше выдумать не мог"
print(word_deleted(lines))
def task_32():
"""
32. создайте матрицу (список из вложенных списков)
размера n x n (фиксируются в программе), заполненную случайными
целыми числами.
"""
def new_matrix(n):
matrix = [[randint(0, 100) for x in range(n)] for i in range(n)]
for x in matrix:
print(x)
new_matrix(10)
def task_45():
"""
45. напишите функцию, которая возвращает разность между наибольшим и
наименьшим значениями из списка целых случайных чисел.
"""
def difference():
number_random = [randint(0, 100) for i in range(50)]
print('разность между наибольшим и наименьшим значениями = {}'.format(
(max(number_random) - min(number_random))
))
difference()
def task_46():
"""
46. напишите программу, которая для целочисленного списка из 1000 случайных
элементов определяет, сколько отрицательных элементов располагается
между его максимальным и минимальным элементами.
"""
def num_random_count():
random_numbers = [randint(-500, 500) for i in range(1000)]
index_max = random_numbers.index(max(random_numbers))
index_min = random_numbers.index(min(random_numbers))
count = 0
list_range = random_numbers[index_min: index_max + 1]
for x in list_range:
if int(x) < 0:
count += 1
print("отрицательных элементов между максимальным и "
"минимальным элементами = {}".format(count))
num_random_count()
def task_50():
"""
50. дан список целых чисел. определить количество четных элементов и
количество элементов, оканчивающихся на цифру 5.
"""
def func(n):
test_list = [randint(0, 500) for i in range(n)]
count_num = 0
count_five = 0
for x in test_list:
if x % 2 == 0:
count_num += 1
if x % 10 == 5:
count_five += 1
print("количество четных элементов {}".format(count_num))
print("количество элементов, оканчивающихся на цифру 5. {}".format(
count_five))
func(50)
def task_51():
"""
51. задан список из целых чисел. определить процентное содержание
элементов, превышающих среднеарифметическое всех элементов списка
"""
def func(n):
test_list = [randint(0, 100) for i in range(n)]
average = sum(test_list) / len(test_list)
count = 0
for x in test_list:
if x > average:
count += 1
print("процентное содержание элементов, превышающих"
" среднеарифметическое всех элементов списка = {} %".format(
round((count / average) * 100,
func(100)
if __name__ == "__main__":
task_26()
task_27()
task_28()
task_32()
task_45()
task_46()
task_50()
task_51()
С++20
#include <iostream>#include <vector>class Point {public: int x, y; Point() = default; Point(const Point &) = default; Point(int _x, int _y) : x(_x), y(_y) {} Point operator + (const Point& p) const { return Point {x + p.x, y + p.y}; } Point operator - (const Point& p) const { return Point {x - p.x, y - p.y}; } std::vector<Point> operator & (const Point& p) const { return std::vector<Point> { Point {x + p.x, y + p.y}, Point {x - p.x, y + p.y}, Point {x + p.x, y - p.y}, Point {x - p.x, y - p.y}, Point {x + p.y, y + p.x}, Point {x - p.y, y + p.x}, Point {x + p.y, y - p.x}, Point {x - p.y, y - p.x}, }; } static Point max (const Point& p1, const Point& p2) { return Point {std::max(p1.x, p2.x), std::max(p1.y, p2.y)}; } static Point min (const Point& p1, const Point& p2) { return Point {std::min(p1.x, p2.x), std::min(p1.y, p2.y)}; } [[nodiscard]] int distance_to_by_ch (const Point & p) const { return std::max(std::abs(p.x - x), std::abs(p.y - y)); } [[nodiscard]] int distance_to_by_m (const Point & p) const { return std::abs(p.x - x) + std::abs(p.y - y); } friend std::ostream &operator << (std::ostream &os, Point const &p) { return os << "(" << p.x << ";" << p.y << ")"; } Point & operator = (const Point &) = default; bool operator == (const Point & p) const { return x == p.x && y == p.y; }};class Horse {public: const Point p; explicit Horse (const Point position) : p(position) { } [[nodiscard]] bool can_I_kill_this_guy (const Point & m) const { auto field = p & Point{2, 3}; return std::find(field.begin(), field.end(), m) != field.end(); }};std::istream &to_number(std::istream &stream) { char ch; do { ch = stream.get(); } while (!isalpha(ch)); if (isupper(ch)) ch -= 16; else ch -= 48; stream.putback(ch); return stream;}int main () { Point horse_p{}, stranger_p{}; std::cin >> horse_p.x >> to_number >> horse_p.y; std::cin >> stranger_p.x >> to_number >> stranger_p.y; Horse jack(horse_p); std::cout << "I am a Horse placed on " << jack.p << ". " << "Can I kill those guy on " << stranger_p << "? " << "-> " << std::boolalpha << jack.can_I_kill_this_guy(stranger_p); }
