Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 26.04.2025
Сообщений: 4

Из каждой строки выберите числа, у которых чётность первой и последней цифры не совпадает

28.04.2025, 11:08. Показов 2114. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Еще совсем недавно двор Арканарских королей был одним из самых просвещенных в Империи. При дворе содержались ученые, в большинстве, конечно, шарлатаны, но и такие, как Багир Киссэнский, открывший сферичность планеты; лейб-знахарь Тата, высказавший гениальную догадку о возникновении эпидемий от мелких, незаметных глазу червей, разносимых ветром и водой; алхимик Синда, искавший, как все алхимики, способ превращать глину в золото, а нашедший закон сохранения вещества.

Напишите программу, выбирающую шарлатанов и знахарей.

Вводятся строки чисел, записанных через пробел.

Из каждой строки выберите числа, у которых чётность первой и последней цифры не совпадает, а сумма трёх последних (самых правых) разрядов меньше наименьшего числа строки. Если разрядов меньше трёх, то в сумме считаются все.

Выведите отобранные числа каждой строки без повторений через дефис, окружённый пробелами, в произвольном порядке.

Пример 1
Ввод:
72262 87631 16747 12 84223
40201 63683 84548 9170 16
82343 68403 5660 29315 17 134
Вывод:
84223 - 12 - 72262 - 87631
16 - 40201 - 9170
29315 - 134 - 82343 - 68403 - 5660
Пример 2
Ввод:
3517 8 619321 17 5652 97
25665 66099 46990 1458 10 36 736
90793 79934 63063 49564 19 77 22153
3185 25 28625 25 360 5287 69873
Вывод:
619321
10 - 36
22153 - 79934 - 63063
360 - 25 - 28625 - 69873
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.04.2025, 11:08
Ответы с готовыми решениями:

Из каждой строки выберите числа, которые больше самого первого в строке и не содержат цифр из него.
Сэмюэль не мог заснуть. Его первый день в новой школе был просто катастрофой. И он прекрасно...

Из каждой строки выберите числа, которые больше самого первого в строке и не содержат цифр из него.
Сэмюэль не мог заснуть. Его первый день в новой школе был просто катастрофой. И он прекрасно...

Из каждой строки, кроме последней, выберите кратные трем числа
Загадочное слово Самостоятельная работа макс. 30 балл. Дедлайн: 11 дек. 16:16 Ограничение...

4
 Аватар для Semen-Semenich
5222 / 3469 / 1173
Регистрация: 21.03.2016
Сообщений: 8,295
28.04.2025, 11:55
Задача: Королевский двор
0
100 / 96 / 17
Регистрация: 05.08.2021
Сообщений: 463
24.09.2025, 11:46
Python
1
2
3
4
5
6
7
def f(n):
    return (n//(10**(len(str(n)) - 1))) % 2 != (n % 10) % 2
 
s = '72262 87631 16747 12 84223 40201 63683 84548 9170 16 82343 68403 5660 29315 17 134'.split(' ')
s2 = list(map(int,s))
res = ' - '.join(list(map(str,(filter(f, set(s2))))))
print(res)
А, там еще и "сумма трёх последних (самых правых) разрядов ".
Ну вот сумма этих разрядов
Python
1
t2 = sum([n % 10,n % 100 // 10,  n % 1000 // 100])
меньше наименьшего числа строки. Наименьшее из этих что-ли? 72262 87631 16747 12 84223 и т.д.
Т.е. меньше 12?
Итого
Python
1
2
3
4
5
6
7
8
9
def f(n):    
    t1 = (n//(10**(len(str(n)) - 1))) % 2 != (n % 10) % 2
    t2 = sum([n % 10,n % 100 // 10,  n % 1000 // 100])    
    min_ = min(s2)    
    return all([t1,t2 < min_])
s = '72262 87631 16747 12 84223 40201 63683 84548 9170 16 82343 68403 5660 29315 17 134'.split(' ')
s2 = list(map(int,s))
res = ' - '.join(list(map(str,(filter(f, set(s2))))))
print(res)
Вроде так
29315 - 72262 - 82343 - 134 - 40201 - 12 - 87631 - 16 - 9170 - 68403 - 84223
0
0 / 0 / 0
Регистрация: 15.09.2025
Сообщений: 6
30.09.2025, 11:57
В качестве учебы - если нет требований по решению и времени, то элементы результирующего множества можно оставить как str.

Python
1
2
3
4
5
6
7
8
9
def relevant(num, smallest):  #  принимаем на ввод строку, можем обращаться по индексам и брать срезы.
    if int(num[0]) % 2 == int(num[-1]) % 2:
        return None
    return sum([int(i) for i in num[-3:]]) < smallest
 
data = set(i for i in input().split())  #  множество, чтобы исключить повторы.
smallest = min([int(i) for i in data])  #  минимум
 
print(*[i for i in data if relevant(i, smallest)], sep= ' - ')
0
1 / 1 / 0
Регистрация: 29.09.2025
Сообщений: 4
01.10.2025, 09:54
Python
1
2
3
4
5
6
7
8
9
10
11
def get_numbers(st):
    sp = []
    minim = min([int(x) for x in st])
 
    for i in st:
        if int(i[0]) % 2  != int(i[-1]) % 2 and sum([int(x) for x in i[-3:]]) < minim:
            sp.append(i)
    return ' - '.join(sp)
 
data = set(i for i in input().split())
print(get_numbers(data))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.10.2025, 09:54
Помогаю со студенческими работами здесь

Из каждой пары строк выберите слова, которые есть во второй строке, но нет в первой.
Напишите программу, выбирающую волшебные изменения. В файле darkness.txt записаны пары строк. Из...

Из второй строки выберите числа, кратные первому числу в первой строке, но не кратные остальным числам из первой строки
ввод Вводится строка магических чисел через пробел. Затем вводится строка периодов тиканья часов...

Посчитать количество строк, длина которых не менее 4-х символов или в которых совпадают первый и последний символы
Добрый день! Нужна помощь в выполнении задания на python. У меня есть список строк. Необходимо...

Напишите программу, которая в каждой строке выберет самое длинное слово
Напишите программу, которая в каждой строке выберет самое длинное слово и вот его-то и сделает...

При каких основаниях в записи числа каждые две соседние цифры имеют разную четность
Число 78 записали в системах счисления с основаниями от 2 до 10 включительно. При каких основаниях...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru