Ошибка.
Попробуйте повторить позже
Каждые сутки на вокзал прибывает электричек. Вам необходимо определить минимальный промежуток времени между прибытием двух разных электричек на основании заданного расписания прибытия электричек.
Входные данные:
В первой строке задано число — количество электричек.
В последующих строках задано моментов времени в формате .
Выходные данные:
Выведите одно число — минимальное время в минутах между прибытием двух электричек
file = open("temp.txt") n = int(file.readline()) times = [file.readline() for x in range(n)] minutes = [] for time in times: hh, mm = map(int, time.split(’:’)) minutes.append(hh * 60 + mm) minutes.sort() min_interval = minutes[-1] - minutes[0] for i in range(1, n): interval = minutes[i] - minutes[i-1] if interval < min_interval: min_interval = interval print(min_interval)
Ошибка.
Попробуйте повторить позже
У Арчи есть тугриков. Он хочет их эффективно вложить в лимонад. Ему даны цены за кубометров лимонада за дней. Арчи может только один раз купить лимонад в день и продать его в один из последующих дней . Помогите Арчи определить номера дней для покупки и продажи лимонада, чтобы получить максимальную прибыль. В ответ укажите день покупки и день продажи через пробел.
Входные данные:
В первой строке файла содержится число дней .
В последующих строках файла содержатся цены за кубометров лимонада в каждый из дней. Дни нумеруются с единицы.
Выходные данные:
Два числа и — номера дней для покупки и продажи лимонада.
file = open("temp.txt") n = int(file.readline()) prices = [int(file.readline()) for x in range(n)] maxProfit = -1e9 minIndex = 0 left = 0 right = 0 for i in range(1, n): purchasePricePerUnit = prices[minIndex] / 1000 lemonadeThatCanBeBought = 1000 / purchasePricePerUnit salePricePerUnit = prices[i] / 1000 lemonadeThatCanBeSold = lemonadeThatCanBeBought * salePricePerUnit profit = lemonadeThatCanBeSold - purchasePricePerUnit * lemonadeThatCanBeBought if prices[i] < prices[minIndex]: minIndex = i elif profit >= maxProfit: maxProfit = profit left = minIndex + 1 right = i + 1 print(left, right)
Ошибка.
Попробуйте повторить позже
Вам дан массив a = [1, 2, 9, 9, 9, 9, 9, 9, 9], представьте, что этот массив, это целое число и прибавьте к этому числу , как теперь будет выглядеть ваш массив? Напишите программу, которая найдет новое состояние массива. Использовать новые массивы запрещено!!!!!!!
В ответе напишите, все элементы измененного массива через запятую (скобки писать не нужно).
# Так как явно видно, что единица не сможет переполнить старший # разряд, не будем рассматривать случай, когда такое может произойти :) # Для такого случая необходимо обнулить все элементы # массива и добавить единицу в начало a = [1, 2, 9, 9, 9, 9, 9, 9, 9] perenos = 1 for i in range(len(a) - 1, -1, -1): tmp = a[i] + perenos a[i] = tmp % 10 perenos = tmp // 10 print(a)
Ошибка.
Попробуйте повторить позже
Назовем число хорошим, если оно равно сумме всех своих натуральных делителей (кроме самого числа). Проверьте, является ли число хорошим. В ответе укажите , если это так, иначе — .
n = 8128 summa = 1 for i in range(2, int(n ** 0.5) + 1): if n % i == 0: summa += i if i != n // i: summa += n // i print(summa == n)
Ошибка.
Попробуйте повторить позже
Напишите программу, которая определяет, является ли число счастливым.
Счастливое число — это число определенное следующим процессом:
- Число заменяется на сумму квадратов своих цифр.
- Пункт повторяется пока или пока цикл не станет бесконечным.
- Если , то оно счастливое.
В ответе напишите True, если число счастливое, иначе — False.
def sumNumber(n): summa = 0 while n > 0: summa += (n % 10) ** 2 n //= 10 return summa n = 29 seen = set() while n != 1 and not (n in seen): seen.add(n) n = sumNumber(n) print(n == 1)
Ошибка.
Попробуйте повторить позже
В текстовом файле содержится строка, которая содержит заглавных латинских символов, найдите индекс (индексация с ) первого неповторяющегося символа в строке. Если таких символов нет, то в ответе напишите .
Solution 1
s = open("7.txt").readline() letterArray = [0] * 26 for i in s: letterArray[ord(i) - 65] += 1 ans = -1 for i in range(len(s)): if letterArray[ord(s[i]) - 65] == 1: ans = i break print(ans)
Solution 2
s = open("7.txt").readline() ans = -1 for i in range(len(s)): fl = True for j in range(len(s)): if j != i and s[i] == s[j]: fl = False break if fl: ans = i break print(ans)
Ошибка.
Попробуйте повторить позже
Текстовый файл содержит строка, в которой содерджится не более чем символов. Вам необходимо проверить, является ли данная строка палиндромом. Использовать «фишки» Питона запрещено.
Если строка является палиндромом, то в ответе напишите длину наибольшой последовательность из символов , иначе напишите длину наибольшой последовательность из символов .
s = open("6.txt").readline() fl = True for i in range(len(s) // 2): if s[i] != s[len(s) - i - 1]: fl = False break if fl: findSymbol = ’A’ else: findSymbol = ’B’ count = 1 maxim = 1 for i in range(len(s) - 1): if s[i] == s[i + 1] and s[i] == findSymbol: count += 1 maxim = max(maxim, count) else: count = 1 print(maxim)
Ошибка.
Попробуйте повторить позже
Текстовый файл содержит строк, в каждой строке содерджится не более чем символов. Вам необходимо найти самую длинную префиксную подстроку, совпадающую во всех строках. Префиксная подстрока — подстрока, которая всегда начинается с первого символа строки. Для строки префиксными подстроками могут являться подстроки , , , .
Пример 1:
Набор строк:
Результат поиска:
Пример 2:
Набор строк:
Результат поиска:
a = open("5.txt").readlines() minimLengthString = 1000 for i in a: minimLengthString = min(minimLengthString, len(i)) ans = "" for i in range(minimLengthString): flag = True for j in range(len(a) - 1): if a[j][i] != a[j + 1][i]: flag = False break if flag: ans += a[0][i] else: break print(ans)
Ошибка.
Попробуйте повторить позже
В текстовом файле содержатся набора чисел. Первый набор содержит сортированных чисел, второй набор содержит сортированных чисел, все числа натуральные, наборы идут друг за другом. Вам необходимо создать массив, который будет содержать числа из двух наборов в отсортированном порядке. В ответе запишите сумму элементов получившегося массива.
Пример:
Первый набор чисел:
Второй набор чисел:
Результат слияния:
f = open("4.txt") n, m = 100, 120 a = [int(f.readline()) for _ in range(n)] b = [int(f.readline()) for _ in range(m)] c = [] i, j = 0, 0 while i < n and j < m: if a[i] < b[j]: c.append(a[i]) i += 1 else: c.append(b[j]) j += 1 while i < n: c.append(a[i]) i +=1 while j < m: c.append(b[j]) j += 1 print(sum(c))
Ошибка.
Попробуйте повторить позже
В текстовом файле содержится число , а затем набор из натуральных чисел. Числа идут в отсортированном порядке. Вам необходимо определить, под каким индексом вы можете вставить число в данный набор. В ответе напишите подходящий индекс.
В данной задаче при работе с массивами можно использовать только метод append
Пример 1:
Набор: , —
Пример 2:
Набор: , —
Пример 3:
Набор: , —
f = open("3.txt") k = int(f.readline()) last = 0 # последнее рассмотренное число ans = -1 for i in range(1000): x = int(f.readline()) if k > last and x >= k: ans = i break last = x if ans == -1: ans = 1000 print(ans)
Ошибка.
Попробуйте повторить позже
В текстовом файле содержится набор из натуральных чисел. Числа идут в отсортированном порядке. Найдите количество элементов, которое останется в наборе, если удалить из него все дубликаты.
Пример:
Начальное состояние набора
Набор: — элементов
Конечное состояние набора
Набор: — элемента
Решение 1
f = open("2.txt") a = [] for i in f: a.append(int(i)) f.close() i = 1 while i < len(a): if a[i] == a[i - 1]: a.pop(i) else: i +=1 print(i)
Решение 2
f = open("2.txt") a = [] for i in f: a.append(int(i)) f.close() indexLastElem = 0 for i in range(1, 1000): if a[indexLastElem] != a[i]: a[indexLastElem + 1] = a[i] indexLastElem += 1 print(indexLastElem + 1)
Ошибка.
Попробуйте повторить позже
В текстовом файле содержится набор из различных натуральных чисел, найдите индексы двух чисел (индексация с ), сумма которых равна . В ответе запишите найденные индексы через пробел в порядке возрастания.
f = open("1.txt") a = [] for i in range(100): a.append(int(f.readline())) for i in range(100): for j in range(i + 1, 100): if (a[i] + a[j] == 199): print(i, j)
Ошибка.
Попробуйте повторить позже
Что выведет программа?
a = [1,2,3,4,5,6,7,8,9,10] n = len(a) k = 0 for i in range(n): if a[i]%3 == 0: k+=1 print(k)
Переписываем программу и запускаем. Получаем ответ.
Ошибка.
Попробуйте повторить позже
Написать программу, которая подсчитывает в массиве количество чисел, кратных . Ответ вывести для
a = [1,2,3,4,5,6,7,8,9,10] n = len(a) k = 0 for i in range(n): if a[i]%3 == 0: k+=1 print(k)
Ошибка.
Попробуйте повторить позже
Илья очень любит восклицательные знаки и до ужаса ненавидит гласные буквы. Помогите Илья написать программу, которая получает на вход строку из букв нижнего регистра(т.е. маленькие) и заменяет в ней все гласные буквы на восклицательный знак. Буквы а, я, у, ю, о, е, ё, э, и, ы — гласные. В ответ укажите результат работы программы для строки «даровате».
vowel = "аяуюоеёэиы" s = input() new_s = "" for letter in s: if letter in vowel: new_s += "!" else: new_s += letter print(new_s)
Ошибка.
Попробуйте повторить позже
Ксения с помощью нового СЕКРЕТНОГО!!! способа представления чисел хочет представить любое число в единички и нули. Если десятичная цифра числа ниже , то оно заменяется на . Если десятичная цифра числа больше или равна , то оно заменяется на . Помогите Ксении написать программу. В ответ укажите результат работы программы для числа .
Например: входное число . Вывод .
n = str(input()) result = "" for num in n: if int(num) < 5: result += "0" else: result += "1" print(result)
Ошибка.
Попробуйте повторить позже
Анна считает, что числа, заканчивающиеся нулями, скучны. Они могут быть забавными в нашем мире, но не в мире Анны. Помогите Анне избавься от них. Напишите программу которая принимает на вход одно число и делает из него, в случае необходимости, число, которое не будет заканчиваться нулями(т.е. убирает нули справа).
Например: входное число . Вывод .
В ответ укажите результат работы программы для числа .
n = int(input()) if n == 0: print(n) else: while n % 10 == 0: n = n // 10 print(n)
Ошибка.
Попробуйте повторить позже
Виктория работает водителем автобуса. Однако она стала очень популярна среди жителей города. Из-за большого количества пассажиров, желающих сесть в ее автобус, ей иногда приходится сталкиваться с проблемой нехватки мест в автобусе! Она просит Вас написать простую программу, которая сообщит ей, сможет ли она вместить всех пассажиров. Программа должна принимать три параметра: — количество людей, которое может вместить автобус, не считая водителя; — количество людей в автобусе, не считая водителя; — количество людей, ожидающих посадки в автобус, исключая водителя.
Если места достаточно, возвращается , в противном случае возвращается количество пассажиров, которых Виктория не может взять в автобус. В ответ укажите результат работы программы для параметров: , , .
n = int(input()) k = int(input()) m = int(input()) rem = n - k if rem <= m: print(m - rem) else: print(0)
Ошибка.
Попробуйте повторить позже
Олегу только что исполнилось лет, и он хочет знать, сколько лет ему будет в будущем, например, в или году. Его родители не успевают посчитать, поэтому они попросили Вас помочь им, написав программу, которая сможет ответить на бесконечные вопросы Олега.
Ваша задача — написать программу, которая принимает два параметра: год рождения и год, по отношению к которому нужно считать возраст. Поскольку Олег с каждым днем становится все любопытнее, он может вскоре захотеть узнать, сколько лет осталось до его рождения, поэтому ваша программа должна работать как с датами в будущем, так и в прошлом.
Обеспечьте вывод в следующем формате:
- для дат в будущем «Олегу ... года (лет)»;
- для дат в прошлом «Олег родится через ... года (лет)»;
- если год рождения равен запрашиваемому году, то возвращается: «Олег родился в этом году!».
«...» должны быть заменены числом, подсчитанным Вашей программой. В ответ укажите результат работы программы для года рождения и году, по отношению к которому нужно считать возраст .
year_of_birth = int(input()) current_year = int(input()) difference = current_year - year_of_birth if difference <= -1: print("Олег родится через "+ str(-difference) +" года (лет)") elif difference == 0: print("Олег родился в этом году!") elif difference >= 1: print("Олегу " + str(difference) + " года (лет)")
Ошибка.
Попробуйте повторить позже
Напишите программу, которая принимает на вход имя марафонца и возвращает количество световых мечей, принадлежащих этому человеку. Кстати, единственный человек, владеющий световыми мечами — Лера. У неё их , что является потрясающим количеством световых мечей. У всех остальных марафонцев световых мечей. В ответ укажите результат работы программы для имени «Лера».
name = input() if name == "Лера": print(18) else: print(0)