def parse(array:list):
suitable = []
for item in array:
if str(item)[::-1] == '4':
suitable.append(item)
return suitable
def main():
nums = [int(i) for i in input().split()]
assert sum(nums) <= 30000
assert len(nums) <= 1000
suitable = parse(nums)
try:
print(min(suitable))
except ValueError:
print('0')
if __name__ == '__main__':
main()
Объяснение:
Сайт гарантированно сломает код, по скриншоту его можно восстановить.
Принцип работы:
Получаем на вход список чисел
Утверждение - сумма всех элементов меньше 30 000
Утверждение - всего в списке не более 1000 элементов
Если одно из утверждений не верно, программа завершает работу с ошибкой AssertionError (Ошибка утверждения)
Прогоняем список через функцию parse, результат сохраняем в переменную suitable (подходящие)
Пытаемся вывести на экран минимальный элемент списка suitable.
Если список пуст, будет возбуждено исключение ValueError, перехватываем его, вместе ошибки выводим в консоль 0
Функция Parse: <= Список
Локальная переменная suitable типа list (список)
Для каждого элемента списка, переданного функции -
Если последний символ в строковом представлении элемента списка есть 4 - добавляем в список suitable, иначе - пропускаем итерацию
Возвращаем список suitable
#include <iostream>
#include <time.h>
using namespace std;
int main() {
time_t rawtime;
tm timeinfo;
int day, year, month;
char str[256];
setlocale (LC_ALL, "Russian");
cout << "Введите дату: день, месяц, год: " << endl;
cin >> day >> month >> year;
time (&rawtime); // получить текущее время
localtime_s (&timeinfo, &rawtime); // заполнить структуру timeinfo значениями текущего времени
timeinfo.tm_year = year - 1900; // база 1900
timeinfo.tm_mon = month - 1; // база 0
timeinfo.tm_mday = day; // база 1
rawtime = mktime (&timeinfo); // для установки значения дня недели в timeinfo
strftime (str, sizeof(str), "%A", &timeinfo); // получить день недели
cout << str << endl;
return 0;
}
Объяснение: см. комментарии