Решаю с братом информатику, необходимо написать программу в Питоне С математической точки...

0 голосов
77 просмотров

Решаю с братом информатику, необходимо написать программу в Питоне
С математической точки зрения я ее понимаю, а вот как записать в программу, не знаю, в школе учила паскаль.
Подскажите, пожалуйста. Сначала сама пойму, а потом буду с ним делать.

Саша и Катя учатся в начальной школе. Для изучения арифметики при этом используются карточки, на которых написаны цифры (на каждой карточке написана ровно одна цифра). Однажды они пришли на урок математики, и Саша, используя все свои карточки, показал число A, а Катя показала число B. Учитель тогда захотел дать им такую задачу, чтобы ответ на нее смогли показать и Саша, и Катя, каждый используя только свои карточки. При этом учитель хочет, чтобы искомое число было максимально возможным.

Входные данные
Во входном файле записано два целых неотрицательных числа A и B (каждое число в одной строке). Длина каждого из чисел не превосходит 100 000 цифр.

Выходные данные
Выведите одно число — максимальное целое число, которое можно составить используя как цифры первого числа, так и цифры второго числа. Если же ни одного такого числа составить нельзя, выведите -1.


Информатика (15 баллов) | 77 просмотров
0

Иными словами, надо выбрать цифры, имеющиеся в обоих числах, упорядочить их по убыванию и вывести... Если нет ни одной совпадающей цифры - вывести -1.

Дан 1 ответ
0 голосов
Правильный ответ
Текст программы:
s1=input("Введите натуральное число А: ")
s2=input("Введите натуральное число B: ")
s=""
for i in '9876543210':
    s=s+i*min(s1.count(i),s2.count(i))
if s=="":
    s=-1
print(s)

Тестовое решение:
Python 3.4.2 (v3.4.2:ab2c023a9432, Oct  6 2014, 22:15:05) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
Введите натуральное число А: 10121213124353435345673424
Введите натуральное число B: 766653434521288956462362312122342
765554444333332222111
>>>


(142k баллов)