diff --git a/lesson_2.1.py b/lesson_2.1.py index e69de29..f1a1fd2 100644 --- a/lesson_2.1.py +++ b/lesson_2.1.py @@ -0,0 +1,347 @@ +''' ****** Задание 1 ******** + *** Вывод текста *** +''' +#print("Привет, Яндекс!") + +''' ****** Задание 2 ******** + *** Диалоговая программа, которая сначала спросит имя пользователя, а затем поприветствует его. *** +''' +#print("Как Вас зовут?") +#user_name = input() +#print("Привет, " + user_name) + +''' ****** Задание 3 ******** + *** Принимает одну строку и выводит её трижды *** +''' +#info = input() +#print(info) +#print(info) +#print(info) + +''' ****** Задание 4 ******** + *** Вычислите стоимость покупки, а затем найдите разность *** +''' +#has = int(input()) +#need = 38 * 5 // 2 +#answer = has - need +#print(answer) + +''' ****** Задание 5 ******** + *** Вычислить сдачу *** +''' +#price = int(input()) +#weight = int(input()) +#money = int(input()) +#cost = price * weight +#change = money - cost +#print(change) + +''' ****** Задание 6 ******** + *** Рассчитывает стоимость покупки и печатает чек в заданном формате *** +''' +# Четыре строки ввода: +# 1. Название товара (строка) +# item_name = input() +# +# # 2. Цена товара за килограмм (натуральное число) +# price_per_kg = int(input()) +# +# # 3. Вес товара (натуральное число) +# weight_kg = int(input()) +# +# # 4. Количество денег у пользователя (натуральное число) +# money_given = int(input()) + +# Расчеты: +# Итоговая стоимость +# total_cost = price_per_kg * weight_kg +# +# # Сдача +# change = money_given - total_cost +# +# #Формат вывода: +# print("Чек") +# print(f"{item_name} - {weight_kg}кг - {price_per_kg}руб/кг") +# print(f"Итого: {total_cost}руб") +# print(f"Внесено: {money_given}руб") +# print(f"Сдача: {change}руб") + +''' ****** Задание 7 ******** + *** Которая N раз выводит строку «Купи слона!». *** +''' +# n = int(input()) +# for _ in range(n): +# print("Купи слона!") + +''' ****** Задание 8 ******** + *** Выводит N строк наказания. *** +''' +# n = int(input()) +# punishment = input() +# print(f'Я больше никогда не буду писать "{punishment}"!\n' * n, end='') + +''' ****** Задание 9 ******** + *** Сколько кусков колбасы съедят N детей за M минут.*** +''' +# n = int(input()) +# m = int(input()) +# +# total_sausages = (n * m) / 2 +# +# print(int(total_sausages)) + +''' ****** Задание 10 ******** + *** Формирование карточки для личного дела ребёнка.*** +''' +# name = input() +# locker_number = input() +# +# # Extract digits from the locker number +# group_number = locker_number[0] +# bed_number = locker_number[1] +# child_order_in_group = locker_number[2] +# +# # Format and print the output +# print(f"Группа №{group_number}.") +# print(f"{child_order_in_group}. {name}.") +# print(f"Шкафчик: {locker_number}.") +# print(f"Кроватка: {bed_number}.") + +''' ****** Задание 11 ******** + *** Числа вида abcd составляет число badc*** +''' +# number = input() +# +# # Extract digits +# a = number[0] +# b = number[1] +# c = number[2] +# d = number[3] +# +# # Form the new number by rearranging digits +# new_number = b + a + d + c +# +# print(new_number) + +''' ****** Задание 12 ******** + *** Складывает два числа поразрядно без учёта переносов. *** +''' +# # Read the two natural numbers as input +# num1 = int(input()) +# num2 = int(input()) +# +# # Initialize the result and a multiplier for placing digits in the correct position +# result = 0 +# power_of_10 = 1 +# +# # Loop as long as there are digits left in either number +# while num1 > 0 or num2 > 0: +# # Get the last digit of num1 +# digit1 = num1 % 10 +# # Get the last digit of num2 +# digit2 = num2 % 10 +# +# # Sum the current pair of digits +# sum_of_current_digits = digit1 + digit2 +# +# # Get the units digit of the sum (ignoring any carry-over) +# result_digit = sum_of_current_digits % 10 +# +# # Add this result digit to our overall result, +# # multiplied by the appropriate power of 10 to place it correctly +# result += result_digit * power_of_10 +# +# # Remove the last digit from num1 +# num1 //= 10 +# # Remove the last digit from num2 +# num2 //= 10 +# +# # Move to the next power of 10 for the next digit position +# power_of_10 *= 10 +# +# # Print the final result +# print(result) + +''' ****** Задание 13 ******** + *** Раздать конфеты детям на новогоднем утреннике. *** +''' +# # Read the number of children +# n = int(input()) +# # Read the number of candies +# m = int(input()) +# +# # Calculate the number of candies each child receives (integer division) +# candies_per_child = m // n +# +# # Calculate the remaining candies (remainder of the division) +# remaining_candies = m % n +# +# # Print the results, each on a new line +# print(candies_per_child) +# print(remaining_candies) + +''' ****** Задание 14 ******** + *** Определяет максимальное количество ходов, которое потребуется, чтобы найти зелёный шарик. *** +''' +# # Read the number of red balls +# red_balls = int(input()) +# +# # Read the number of green balls +# green_balls = int(input()) +# +# # Read the number of blue balls +# blue_balls = int(input()) +# +# # Calculate the maximum number of moves +# # In the worst-case scenario, all red and blue balls are drawn first, +# # and then the first green ball is drawn. +# maximum_moves = red_balls + blue_balls + 1 +# +# # Print the result +# print(maximum_moves) + +''' ****** Задание 15 ******** + *** N часов M минут владелец магазина заказал доставку нового товара. Оператор сообщил, что продукты доставят через T минут. + Сколько будет времени на электронных часах, когда привезут долгожданные продукты? *** +''' +# # Read the initial hour, minute, and delivery time in minutes +# hour = int(input()) +# minute = int(input()) +# delivery_time = int(input()) +# +# # Calculate the total minutes from midnight for the initial time +# total_minutes_initial = hour * 60 + minute +# +# # Add the delivery time to get the total minutes from midnight for the delivery +# total_minutes_delivery = total_minutes_initial + delivery_time +# +# # Calculate the new hour and minute +# # The modulo 1440 (24 hours * 60 minutes) handles wrapping around midnight +# delivery_hour = (total_minutes_delivery // 60) % 24 +# delivery_minute = total_minutes_delivery % 60 +# +# # Format the output to ensure two digits for hours and minutes +# # This uses f-strings with format specifiers: +# # :02d means "format as a decimal integer, padding with a leading zero if it's less than 2 digits" +# print(f"{delivery_hour:02d}:{delivery_minute:02d}") + +''' ****** Задание 16 ******** + *** Склад находится на отметке A км, а магазин — B км. Средняя скорость автомобиля, доставляющего товары, C км/ч. +За какое время продукты попадают со склада в магазин? *** +''' +# # Read the coordinates of the warehouse (A) and the store (B) +# a = int(input()) +# b = int(input()) +# +# # Read the average speed of the delivery car (C) +# c = int(input()) +# +# # Calculate the distance between the warehouse and the store +# # We use abs() to ensure the distance is always positive, regardless of A and B order. +# distance = abs(b - a) +# +# # Calculate the time taken (Time = Distance / Speed) +# # Since C is an integer, dividing distance by C will result in a float automatically. +# time_in_hours = distance / c +# +# # Print the result formatted to two decimal places +# # The f-string with ":.2f" format specifier achieves this. +# print(f"{time_in_hours:.2f}") + +''' ****** Задание 17 ******** + *** Поможет магазину посчитать общую сумму выручки, учитывая, что кассовый аппарат выдаёт сумму последней покупки в двоичной системе счисления. *** +''' +# # Read the current total revenue (in decimal) +# current_revenue_decimal = int(input()) +# +# # Read the last purchase amount (in binary string) +# last_purchase_binary = input() +# +# # Convert the binary string to a decimal integer +# last_purchase_decimal = int(last_purchase_binary, 2) +# +# # Calculate the total revenue by adding the decimal values +# total_revenue = current_revenue_decimal + last_purchase_decimal +# +# # Print the total revenue +# print(total_revenue) + +''' ****** Задание 18 ******** + *** Из двоичной в десятичную систему *** +''' +# # Read the purchase price in binary (as a string) +# purchase_price_binary = input() +# +# # Read the denomination of the user's bill (in decimal) +# bill_denomination_decimal = int(input()) +# +# # Convert the binary purchase price to a decimal integer +# purchase_price_decimal = int(purchase_price_binary, 2) +# +# # Calculate the change +# change_decimal = bill_denomination_decimal - purchase_price_decimal +# +# # Print the change +# print(change_decimal) + +''' ****** Задание 19 ******** + *** Выводит красиво оформленный чек. *** +''' +# # Read input data +# product_name = input() +# price_per_kg = int(input()) +# weight_kg = int(input()) +# money_paid = int(input()) +# +# # Calculate total cost and change +# total_cost = price_per_kg * weight_kg +# change = money_paid - total_cost +# +# # Define the total width for each line +# total_width = 35 +# +# # Print the top border +# print("=" * 16 + "Чек" + "=" * 16) +# +# # Print product line +# # "Товар: " has 7 characters. Remaining width for product_name is 35 - 7 = 28. +# print(f"Товар: {product_name.rjust(total_width - 7)}") +# +# # Print price details line +# # "Цена: " has 10 characters. Remaining width for price_details_str is 35 - 10 = 25. +# price_details_str = f"{weight_kg}кг * {price_per_kg}руб/кг" +# print(f"Цена: {price_details_str.rjust(total_width - 10)}") +# +# # Print total cost line +# # "Итого: " has 7 characters. Remaining width for total_cost_str is 35 - 7 = 28. +# total_cost_str = f"{total_cost}руб" +# print(f"Итого: {total_cost_str.rjust(total_width - 7)}") +# +# # Print money paid line +# # "Внесено: " has 9 characters. Remaining width for money_paid_str is 35 - 9 = 26. +# money_paid_str = f"{money_paid}руб" +# print(f"Внесено: {money_paid_str.rjust(total_width - 9)}") +# +# # Print change line +# # "Сдача: " has 7 characters. Remaining width for change_str is 35 - 7 = 28. +# change_str = f"{change}руб" +# print(f"Сдача: {change_str.rjust(total_width - 7)}") +# +# # Print the bottom border +# print("=" * total_width) + +''' ****** Задание 20 ******** + *** Вес каждой партии котлет. *** +''' +# N = int(input()) +# M = int(input()) +# K1 = int(input()) +# K2 = int(input()) +# +# # Проверяем условие K2 < M < K1 +# if K2 >= M or M >= K1: +# print("Нет решения в натуральных числах") +# else: +# x = N * (M - K2) // (K1 - K2) +# y = N * (K1 - M) // (K1 - K2) +# print(x, y) diff --git a/lesson_2.2.py b/lesson_2.2.py index e69de29..b2622fe 100644 --- a/lesson_2.2.py +++ b/lesson_2.2.py @@ -0,0 +1,412 @@ +''' ****** Задание 1 ******** + *** Спрашивает имя и как дела *** +''' +# # Ask for the user's name +# print("Как Вас зовут?") +# username = input() +# +# # Greet the user +# print(f"Здравствуйте, {username}!") +# +# # Ask about the user's mood +# print("Как дела?") +# mood = input() +# +# # Respond based on the user's mood +# if mood == "хорошо": +# print("Я за Вас рада!") +# elif mood == "плохо": +# print("Всё наладится!") + +''' ****** Задание 2 ******** + *** Определить победителя *** +''' +# p_speed = float(input()) +# v_speed = float(input()) +# if p_speed > v_speed: +# print('Петя') +# else: +# print('Вася') + +''' ****** Задание 3 ******** + *** Кто первый финишировал *** +''' +# p_speed = float(input()) +# v_speed = float(input()) +# t_speed = float(input()) +# if p_speed > v_speed and p_speed > t_speed: +# print("Петя") +# elif v_speed > p_speed and v_speed > t_speed: +# print("Вася") +# else: +# print("Толя") + +''' ****** Задание 4 ******** + *** Кто первый финишировал *** +''' +# # Читаем скорости гонщиков +# petya_speed = int(input()) +# vasya_speed = int(input()) +# tolya_speed = int(input()) +# +# # Создаем список кортежей (скорость, имя) +# racers = [ +# (petya_speed, "Петя"), +# (vasya_speed, "Вася"), +# (tolya_speed, "Толя") +# ] +# +# # Наивная сортировка пузырьком по убыванию скорости +# n = len(racers) +# for i in range(n - 1): +# for j in range(n - 1 - i): +# if racers[j][0] < racers[j + 1][0]: +# # Меняем местами +# racers[j], racers[j + 1] = racers[j + 1], racers[j] +# +# # Выводим результаты +# for i in range(3): +# print(f"{i + 1}. {racers[i][1]}") + +''' ****** Задание 5 ******** + *** У кого яблок больше *** +''' +# # Читаем N и M +# N = int(input()) +# M = int(input()) +# +# # Вычисляем итоговое количество яблок +# petya_apples = 6 + N +# vasya_apples = 12 + M +# +# # Сравниваем и выводим результат +# if petya_apples > vasya_apples: +# print("Петя") +# else: +# print("Вася") + +''' ****** Задание 6 ******** + *** Программа, которая поможет Васе определить, удастся ли побездельничать в определённом году или нет. + + *** +''' +# # Читаем год +# year = int(input()) +# +# # Проверяем условия високосного года +# if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0): +# print("YES") +# else: +# print("NO") + +''' ****** Задание 7 ******** + *** Является ли слово палидромом *** +''' +# # Считываем число +# number = input() +# +# # Проверяем, является ли число палиндромом +# if number[0] == number[3] and number[1] == number[2]: +# print("YES") +# else: +# print("NO") + +''' ****** Задание 8 ******** + *** Наход слова *** +''' +# # Считываем строку +# text = input() +# +# # Проверяем, есть ли в строке слово "зайка" +# if "зайка" in text: +# print("YES") +# else: +# print("NO") + +''' ****** Задание 9 ******** + *** Сравнение имён *** +''' +# # Считываем три имени +# name1 = input() +# name2 = input() +# name3 = input() +# +# # Сравниваем имена лексикографически +# if name1 <= name2 and name1 <= name3: +# print(name1) +# elif name2 <= name1 and name2 <= name3: +# print(name2) +# else: +# print(name3) + +''' ****** Задание 10 ******** + *** Зашифровка паролей *** +''' +# # Считываем трехзначное число +# number = int(input()) +# +# # Разделяем число на цифры +# hundreds = number // 100 +# tens = (number // 10) % 10 +# units = number % 10 +# +# # Находим суммы +# sum_low = tens + units # сумма младших цифр (десятков и единиц) +# sum_high = hundreds + tens # сумма старших цифр (сотен и десятков) +# +# # Записываем суммы в порядке не возрастания +# if sum_high >= sum_low: +# print(f"{sum_high}{sum_low}") +# else: +# print(f"{sum_low}{sum_high}") + +''' ****** Задание 11 ******** + *** Проверяет является ли число красивым *** +''' +# # Считываем трехзначное число +# number = int(input()) +# +# # Разделяем число на цифры +# hundreds = number // 100 +# tens = (number // 10) % 10 +# units = number % 10 +# +# # Находим минимальную и максимальную цифры +# min_digit = min(hundreds, tens, units) +# max_digit = max(hundreds, tens, units) +# +# # Находим среднюю цифру (не минимальная и не максимальная) +# middle_digit = hundreds + tens + units - min_digit - max_digit +# +# # Проверяем условие красоты: min + max == middle * 2 +# if min_digit + max_digit == middle_digit * 2: +# print("YES") +# else: +# print("NO") + +''' ****** Задание 12 ******** + *** Создать треугольник *** +''' +# # Считываем длины трех отрезков +# a = float(input()) +# b = float(input()) +# c = float(input()) +# +# # Проверяем неравенство треугольника для всех сторон +# if a + b > c and a + c > b and b + c > a: +# print("YES") +# else: +# print("NO") + +''' ****** Задание 13 ******** + *** Выяснение цифры *** +''' +# # Считываем три двузначных числа +# elf = input() +# dwarf = input() +# human = input() +# +# # Проверяем первую цифру (десятки) +# if elf[0] == dwarf[0] == human[0]: +# print(elf[0]) +# # Проверяем вторую цифру (единицы) +# elif elf[1] == dwarf[1] == human[1]: +# print(elf[1]) + +''' ****** Задание 14 ******** + *** Разделить число *** +''' +# number = input() +# +# # Получаем цифры и сортируем их +# digits = sorted(number) +# +# # Минимальное число - две наименьшие цифры (но первая не может быть 0) +# if digits[0] == '0': +# min_num = int(digits[1] + digits[0]) # если есть 0, то минимальное будет типа 10, 20 и т.д. +# else: +# min_num = int(digits[0] + digits[1]) +# +# # Максимальное число - две наибольшие цифры в обратном порядке +# max_num = int(digits[2] + digits[1]) +# +# print(min_num, max_num) + +''' ****** Задание 15 ******** + *** Собрать число *** +''' +# num1 = input() +# num2 = input() +# +# # Объединяем все цифры +# all_digits = num1 + num2 +# +# # Находим максимальную и минимальную цифры +# max_d = max(all_digits) +# min_d = min(all_digits) +# +# # Удаляем по одному вхождению максимальной и минимальной цифры +# remaining = all_digits.replace(max_d, '', 1).replace(min_d, '', 1) +# +# # Суммируем оставшиеся цифры и берем последнюю цифру суммы +# middle = sum(int(d) for d in remaining) % 10 +# +# # Собираем магическое число +# print(max_d + str(middle) + min_d) + +''' ****** Задание 16 ******** + *** Красивый вывод победителей *** +''' +# # Считываем скорости трех участников +# petya = int(input()) +# vasya = int(input()) +# tolya = int(input()) +# +# # Определяем места участников +# if petya > vasya and petya > tolya: +# first = "Петя" +# if vasya > tolya: +# second = "Вася" +# third = "Толя" +# else: +# second = "Толя" +# third = "Вася" +# elif vasya > petya and vasya > tolya: +# first = "Вася" +# if petya > tolya: +# second = "Петя" +# third = "Толя" +# else: +# second = "Толя" +# third = "Петя" +# else: +# first = "Толя" +# if petya > vasya: +# second = "Петя" +# third = "Вася" +# else: +# second = "Вася" +# third = "Петя" +# +# # Выводим красивый пьедестал +# print(f"{'':<8}{first:^8}{'':>8}") +# print(f"{second:^8}{'':<8}{'':>8}") +# print(f"{'':<8}{'':<8}{third:>8}") +# print(f"{'II':^8}{'I':^8}{'III':^8}") + +''' ****** Задание 17 ******** + *** Нахождение корней уровнения, используя условные операторы *** +''' +# # Считываем коэффициенты +# a = float(input()) +# b = float(input()) +# c = float(input()) +# +# # Проверяем особые случаи +# if a == 0: +# if b == 0: +# if c == 0: +# print("Infinite solutions") +# else: +# print("No solution") +# else: +# # Линейное уравнение: bx + c = 0 +# x = -c / b +# print(f"{x:.2f}") +# else: +# # Квадратное уравнение: ax² + bx + c = 0 +# discriminant = b ** 2 - 4 * a * c +# +# if discriminant > 0: +# # Два различных корня +# x1 = (-b - discriminant ** 0.5) / (2 * a) +# x2 = (-b + discriminant ** 0.5) / (2 * a) +# # Сортируем по возрастанию +# if x1 > x2: +# x1, x2 = x2, x1 +# print(f"{x1:.2f} {x2:.2f}") +# elif discriminant == 0: +# # Один корень +# x = -b / (2 * a) +# print(f"{x:.2f}") +# else: +# # Нет действительных корней +# print("No solution") + +''' ****** Задание 18 ******** + *** Программа, которая определяет вероятность встретить зло по длинам сторон треугольника. *** +''' +# # Считываем длины сторон +# a = float(input()) +# b = float(input()) +# c = float(input()) +# +# # Проверяем, существует ли треугольник +# if a + b > c and a + c > b and b + c > a: +# # Находим квадраты сторон для удобства сравнения +# a2 = a * a +# b2 = b * b +# c2 = c * c +# +# # Определяем тип треугольника по углам +# if a2 + b2 == c2 or a2 + c2 == b2 or b2 + c2 == a2: +# print("100%") +# elif a2 + b2 < c2 or a2 + c2 < b2 or b2 + c2 < a2: +# print("велика") +# else: +# print("крайне мала") +# else: +# # Если треугольник не существует +# print("No solution") + +''' ****** Задание 19 ******** + *** Программа, которая по заданным координатам проверит, находится ли исследователь в зоне опасности, учитывая несколько условий одновременно. + *** +''' +# # Считываем координаты +# x = float(input()) +# y = float(input()) +# +# # Проверяем условия опасности +# if (x >= 0 and y >= 0 and y <= -x + 10 and y <= 10 and x <= 10) or \ +# (x <= 0 and y >= 0 and y <= 5 and y <= x + 10 and x >= -10) or \ +# (x <= 0 and y <= 0 and y >= -5 and y >= -x - 10 and x >= -10) or \ +# (x >= 0 and y <= 0 and y >= -5 and y >= x - 10 and x <= 10): +# print("Опасность! Покиньте зону как можно скорее!") +# elif (x >= 0 and y >= 0 and y <= 10 and x <= 10) or \ +# (x <= 0 and y >= 0 and y <= 10 and x >= -10) or \ +# (x <= 0 and y <= 0 and y >= -10 and x >= -10) or \ +# (x >= 0 and y <= 0 and y >= -10 and x <= 10): +# print("Зона безопасна. Продолжайте работу.") +# else: +# print("Вы вышли в море и рискуете быть съеденным акулой!") + +''' ****** Задание 20 ******** + *** Нахождение слова "Зайка" *** +''' +# # Считываем три строки +# s1 = input() +# s2 = input() +# s3 = input() +# +# # Проверяем, в каких строках есть "зайка" +# has_zayka = [] +# if "зайка" in s1: +# has_zayka.append(s1) +# if "зайка" in s2: +# has_zayka.append(s2) +# if "зайка" in s3: +# has_zayka.append(s3) +# +# # Выбираем нужную строку +# if len(has_zayka) == 0: +# # Если "зайки" нет ни в одной строке +# print("") +# elif len(has_zayka) == 1: +# # Если только одна строка с "зайкой" +# result = has_zayka[0] +# print(result, len(result)) +# else: +# # Если несколько строк с "зайкой" - выбираем наименьшую лексикографически +# result = min(has_zayka) +# print(result, len(result)) \ No newline at end of file diff --git a/lesson_2.3.py b/lesson_2.3.py index e69de29..ce9c131 100644 --- a/lesson_2.3.py +++ b/lesson_2.3.py @@ -0,0 +1,304 @@ +''' ****** Задание 1 ******** + *** Программа, которая ждёт правильный крик и только после этого зажигает ёлочку. *** +''' +# cry = input() +# +# while cry != "Три!": +# print("Режим ожидания...") +# cry = input() +# +# print("Ёлочка, гори!") + +''' ****** Задание 2 ******** + *** Цикл while *** +''' +# count = 0 +# text = input() +# +# while text != "Приехали!": +# if "зайка" in text.lower(): +# count += 1 +# text = input() +# +# print(count) + +''' ****** Задание 3 ******** + *** Цикл for *** +''' +# start = int(input()) +# end = int(input()) +# +# for i in range(start, end + 1): +# print(i, end=" ") + +''' ****** Задание 4 ******** + *** Вывести все числа от начала до конца в правильном порядке *** +''' +# start = int(input()) +# end = int(input()) +# +# if start <= end: +# for i in range(start, end + 1): +# print(i, end=" ") +# else: +# for i in range(start, end - 1, -1): +# print(i, end=" ") + +''' ****** Задание 5 ******** + *** Программа для кассового автомата, которая считает итоговую сумму покупки с учётом скидки.*** +''' +# total = 0 +# price = float(input()) +# +# while price != 0: +# if price >= 500: +# total += price * 0.9 # скидка 10% +# else: +# total += price +# price = float(input()) +# +# print(total) + +''' ****** Задание 6 ******** + *** Построение базовых алгоритмов с циклом while. *** +''' +# a = int(input()) +# b = int(input()) +# +# while b != 0: +# a, b = b, a % b +# +# print(a) + +''' ****** Задание 7 ******** + *** Цикл while *** +''' +# a = int(input()) +# b = int(input()) +# +# # Сохраняем оригинальные числа для вычисления НОК +# original_a = a +# original_b = b +# +# # Находим НОД алгоритмом Евклида +# while b != 0: +# a, b = b, a % b +# +# gcd = a # Найденный НОД +# +# # Вычисляем НОК по формуле: НОК(a, b) = (a * b) / НОД(a, b) +# lcm = (original_a * original_b) // gcd +# +# print(lcm) + +''' ****** Задание 8 ******** + *** Вывод строки N раз *** +''' +# info = input() +# n = int(input()) +# +# for i in range(n): +# print(info) + +''' ****** Задание 9 ******** + *** Цикл for *** +''' +# n = int(input()) +# +# factorial = 1 +# +# for i in range(1, n + 1): +# factorial *= i +# +# print(factorial) + +''' ****** Задание 10 ******** + *** Программа, которая по заданному маршруту определит, в какой именно точке мы очутимся, если изначально находимся в точке *** +''' +# x = 0 # координата по оси ВОСТОК-ЗАПАД +# y = 0 # координата по оси СЕВЕР-ЮГ +# +# direction = input() +# +# while direction != "СТОП": +# steps = int(input()) +# +# if direction == "СЕВЕР": +# y += steps +# elif direction == "ЮГ": +# y -= steps +# elif direction == "ВОСТОК": +# x += steps +# elif direction == "ЗАПАД": +# x -= steps +# +# direction = input() +# +# print(y) # сначала север-юг +# print(x) # потом восток-запад + +''' ****** Задание 11 ******** + *** Найти сумму цифр числа *** +''' +# n = int(input()) +# sum_digits = 0 +# +# while n > 0: +# digit = n % 10 # получаем последнюю цифру +# sum_digits += digit +# n = n // 10 # убираем последнюю цифру +# +# print(sum_digits) + +''' ****** Задание 12 ******** + *** Найти максимальную цифру числа.*** +''' +# n = int(input()) +# max_digit = 0 +# +# while n > 0: +# digit = n % 10 # получаем последнюю цифру +# if digit > max_digit: +# max_digit = digit +# n = n // 10 # убираем последнюю цифру +# +# print(max_digit) + +''' ****** Задание 13 ******** + *** Цикл for*** +''' +# n = int(input()) +# +# first_player = input() # считываем первого игрока +# +# for i in range(n - 1): +# name = input() +# if name < first_player: +# first_player = name +# +# print(first_player) + +''' ****** Задание 14 ******** + *** Программа, которая определяет, является ли число простым.*** +''' +# n = int(input()) +# +# if n < 2: +# print("NO") +# else: +# is_prime = True +# for i in range(2, int(n ** 0.5) + 1): +# if n % i == 0: +# is_prime = False +# break +# +# print("YES" if is_prime else "NO") + +''' ****** Задание 15 ******** + *** В скольких строках встречается нужное слово*** +''' +# n = int(input()) +# count = 0 +# +# for i in range(n): +# text = input() +# if "зайка" in text.lower(): +# count += 1 +# +# print(count) + +''' ****** Задание 16 ******** + *** Программу, которая проверяет, является ли заданное число палиндромом *** +''' +# n = int(input()) +# original = n +# reverse = 0 +# +# while n > 0: +# digit = n % 10 # получаем последнюю цифру +# reverse = reverse * 10 + digit # добавляем цифру к перевернутому числу +# n = n // 10 # убираем последнюю цифру +# +# if original == reverse: +# print("YES") +# else: +# print("NO") + +''' ****** Задание 17 ******** + *** Программа для очистки числа от всех чётных цифр, используя цикл while. *** +''' +# n = int(input()) +# result = 0 +# multiplier = 1 +# +# while n > 0: +# digit = n % 10 # получаем последнюю цифру +# if digit % 2 != 0: # проверяем, нечётная ли цифра +# result = digit * multiplier + result +# multiplier *= 10 +# n = n // 10 # убираем последнюю цифру +# +# print(result) + +''' ****** Задание 18 ******** + *** Разложение числа на простые множители*** +''' +# n = int(input()) +# original = n +# factors = [] +# divisor = 2 +# +# while divisor * divisor <= n: +# while n % divisor == 0: +# factors.append(str(divisor)) +# n = n // divisor +# divisor += 1 +# +# if n > 1: +# factors.append(str(n)) +# +# print(f"{original} = " + " * ".join(factors)) + +''' ****** Задание 19 ******** + *** Программа, которая угадывает загаданное целое число от 1 до 1000 с использованием цикла while.*** +''' +# low = 1 +# high = 1000 +# attempts = 0 +# +# while attempts < 10: +# guess = (low + high) // 2 +# print(guess) +# +# response = input().strip() +# +# if response == "Угадал!": +# break +# elif response == "Больше": +# low = guess + 1 +# elif response == "Меньше": +# high = guess - 1 +# +# attempts += 1 + +''' ****** Задание 20 ******** + *** Программу, которая проводит проверку правильности хэшей в модельном блокчейне с простой хэш-функцией. *** +''' +# n = int(input()) +# h_prev = 0 +# +# for idx in range(n): +# b = int(input()) +# m = b // (256 ** 2) +# rest = b % (256 ** 2) +# r = rest // 256 +# h_stored = rest % 256 +# +# h_computed = (37 * (m + r + h_prev)) % 256 +# +# if h_computed != h_stored or h_computed >= 100: +# print(idx) +# break +# h_prev = h_computed +# else: +# print(-1) \ No newline at end of file diff --git a/lesson_2.4.py b/lesson_2.4.py index e69de29..e30295f 100644 --- a/lesson_2.4.py +++ b/lesson_2.4.py @@ -0,0 +1,180 @@ + +''' ****** Задание 1 ******** + *** Таблица умножения *** +''' +# # Получаем размер таблицы от пользователя +# n = int(input()) +# +# # Внешний цикл для каждой строки (i от 1 до n) +# for i in range(1, n + 1): +# # Внутренний цикл для каждого столбца в текущей строке (j от 1 до n) +# for j in range(1, n + 1): +# # Вычисляем произведение +# product = i * j +# # Выводим число, выравнивая его по левому краю в поле шириной 4 символа +# # end='' предотвращает переход на новую строку после print +# print(f"{product:4}", end='') +# # После обработки всех столбцов в строке переходим на новую строку +# print() + +''' ****** Задание 2 ******** + *** Введённому числу n выводит все произведения чисел от 1 до n в виде отдельных выражений. *** +''' +# # Получаем размер от пользователя +# n = int(input()) +# +# # Внешний цикл для второго числа (j от 1 до n) +# for j in range(1, n + 1): +# # Внутренний цикл для первого числа (i от 1 до n) +# for i in range(1, n + 1): +# # Вычисляем произведение +# product = i * j +# # Выводим выражение в нужном формате +# print(f"{i} * {j} = {product}") + +''' ****** Задание 3 ******** + *** Введённому числу n строит «математическую ёлку» — пирамидку из чисел. *** +''' +# n = int(input()) +# +# num = 1 +# row_length = 1 +# +# while num <= n: +# row = [] +# for j in range(row_length): +# if num > n: +# break +# row.append(str(num)) +# num += 1 +# print(' '.join(row)) +# row_length += 1 + +''' ****** Задание 4 ******** + *** Подсчёт суммы всех цифр всех чисел, поданных на вход. *** +''' +# n = int(input()) +# total_sum = 0 +# +# for i in range(n): +# number = input().strip() # считываем как строку, чтобы обрабатывать каждую цифру +# for digit in number: +# total_sum += int(digit) +# +# print(total_sum) + +''' ****** Задание 5 ******** + *** Помогает считать местности, где была замечена зайка. *** +''' +# n = int(input()) +# count = 0 +# +# for i in range(n): +# has_zayka = False +# word = input() +# +# while word != "ВСЁ": +# if "зайка" in word.lower(): +# has_zayka = True +# word = input() +# +# if has_zayka: +# count += 1 +# +# print(count) +''' ****** Задание 6 ******** + *** Найти наибольший общий делитель *** +''' +# n = int(input()) +# +# # Считываем первое число и инициализируем НОД +# gcd_value = int(input()) +# +# # Обрабатываем остальные числа +# for i in range(n - 1): +# num = int(input()) +# a, b = gcd_value, num +# +# # Алгоритм Евклида +# while b != 0: +# a, b = b, a % b +# +# gcd_value = a +# +# print(gcd_value) + +''' ****** Задание 7 ******** + *** Найти наибольший общий делитель *** +''' +# n = int(input()) +# +# # Считываем первое число и инициализируем НОД +# gcd_value = int(input()) +# +# # Обрабатываем остальные числа +# for i in range(n - 1): +# num = int(input()) +# a, b = gcd_value, num +# +# # Алгоритм Евклида +# while b != 0: +# a, b = b, a % b +# +# gcd_value = a +# +# print(gcd_value) + +''' ****** Задание 8 ******** + *** Ввести отсчёт *** +''' +# n = int(input()) +# +# for i in range(n): +# # Для каждого гонщика начинаем отсчет с (3 + i) до 1 +# for j in range(3 + i, 0, -1): +# print(j) +# print("Старт!") + +''' ****** Задание 9 ******** + *** Чьё число больше *** +''' +# n = int(input()) +# max_sum = -1 +# winner = "" +# +# for i in range(n): +# name = input() +# number = input().strip() +# +# # Вычисляем сумму цифр числа +# digit_sum = 0 +# for digit in number: +# digit_sum += int(digit) +# +# # Обновляем победителя, если текущая сумма >= максимальной +# # (при равенстве берем последнего) +# if digit_sum >= max_sum: +# max_sum = digit_sum +# winner = name +# +# print(winner) + +''' ****** Задание 10 ******** + *** Самая большая цифра *** +''' +# n = int(input()) +# result = "" +# +# for i in range(n): +# number = input().strip() +# +# # Находим максимальную цифру в текущем числе +# max_digit = '0' +# for digit in number: +# if digit > max_digit: +# max_digit = digit +# +# # Добавляем максимальную цифру к результату +# result += max_digit +# +# print(result)