This commit is contained in:
parent e2575edc41
commit a4d3aaa124
3 changed files with 895 additions and 0 deletions

View file

@ -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))

View file

@ -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)

View file

@ -0,0 +1,179 @@
''' ****** Задание 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)