Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/40: Рейтинг темы: голосов - 40, средняя оценка - 4.70
15 / 14 / 1
Регистрация: 28.05.2020
Сообщений: 23
1

Большое число

29.05.2020, 12:48. Показов 7855. Ответов 16

Author24 — интернет-сервис помощи студентам
Большое число

Вася написал на длинной полоске бумаги большое число и решил похвастаться своему старшему брату Пете этим достижением. Но только он вышел из комнаты, чтобы позвать брата, как его сестра Катя вбежала в комнату и разрезала полоску бумаги на несколько частей. В результате на каждой части оказалось одна или несколько идущих подряд цифр. Теперь Вася не может вспомнить, какое именно число он написал. Только помнит, что оно было очень большое и, разумеется, не начиналось с нуля. Чтобы утешить младшего брата, Петя решил выяснить, какое максимальное число могло быть написано на полоске бумаги перед разрезанием. Помогите ему!

Входные данные:
В первой строке входных данных содержится натуральное число N, не превосходящее 100 — количество строк. Далее заданы N строк, каждая из которых содержит последовательность цифр. Каждая строка содержит от 1 до 100 цифр. Гарантируется, что хотя бы в одной строке первая цифра отлична от нуля.

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

Примеры:
Ввод:
4
2
20
004
66
Вывод:
66220004

Моя программа:
Python
1
2
3
4
5
a = int(input())
b = []
for x in range(a):
    b.append(input())
print(*sorted(b, reverse = True))
Суть в том, что надо как-то переставить числа с нулями в конец.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.05.2020, 12:48
Ответы с готовыми решениями:

Большое число
Большое число Вася написал на длинной полоске бумаги большое число и решил похвастаться своему...

Большое число
Вася написал на длинной полоске бумаги большое число и решил похвастаться своему старшему брату...

Большое число
Я написала код, но я не учла то, что количество вводимых чисел не известно. Код работает так, что...

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

Большое число Python
Вася написал на длинной полоске бумаги большое число и решил похвастаться своему старшему брату...

16
 Аватар для Miryz
291 / 131 / 58
Регистрация: 24.11.2019
Сообщений: 532
29.05.2020, 13:21 2
Только тут ввод в строку, без указания кол-ва чисел
Python
1
(lambda lst: print(*[lst.pop(lst.index(max(lst))) for i in range (len(lst))], sep='')) (input().split())
0
 Аватар для palva
4256 / 2952 / 688
Регистрация: 08.06.2007
Сообщений: 9,860
Записей в блоге: 4
29.05.2020, 13:28 3
Ввод и вывод через файлы:
Python
1
2
3
inlist = open("input.txt", "r").read().split()
inlist.sort(reverse = True)
open("output.txt","w").write("".join(inlist))
0
15 / 14 / 1
Регистрация: 28.05.2020
Сообщений: 23
29.05.2020, 13:43  [ТС] 4
Эта программа работает так же как и моя. Когда вводишь: 2 20 004 66, она выводит 66202004, но должна выводить 66220004, т.к 66202004 < 66220004

Добавлено через 1 минуту
Paula, в данной программе нельзя использовать ввод и вывод через фалы, строго по примеру
0
Status 418
Эксперт Python
4580 / 2348 / 601
Регистрация: 26.11.2017
Сообщений: 5,264
Записей в блоге: 3
29.05.2020, 14:31 5
а ключ сортировки кто будет писать?
0
15 / 14 / 1
Регистрация: 28.05.2020
Сообщений: 23
29.05.2020, 14:32  [ТС] 6
А каким он должен быть? Я логически не понял как это правильно выстроить.
0
Status 418
Эксперт Python
4580 / 2348 / 601
Регистрация: 26.11.2017
Сообщений: 5,264
Записей в блоге: 3
29.05.2020, 14:37 7
а как пишется стандартный компаратор для строк? его надо чуть изменить.
0
15 / 14 / 1
Регистрация: 28.05.2020
Сообщений: 23
29.05.2020, 14:40  [ТС] 8
Можешь скинуть хорошую статью с простым объяснением про компараторы? Я не знаю, что такое компаратор.
0
Status 418
Эксперт Python
4580 / 2348 / 601
Регистрация: 26.11.2017
Сообщений: 5,264
Записей в блоге: 3
29.05.2020, 15:09 9
я не знаю статей.
в python вроде так, если я правильно понял из документации:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from functools import cmp_to_key
 
 
def my_cmp(x, y):
    if x > y:
        return -1
    elif x == y:
        return 0
    else:
        return 1
 
 
a = [input() for _ in range(int(input()))]
a.sort(key=cmp_to_key(my_cmp))
print(a)
0
15 / 14 / 1
Регистрация: 28.05.2020
Сообщений: 23
29.05.2020, 15:15  [ТС] 10
Прога работает неверно, но это меня натолкнуло на хорошее решение этой задачи
0
Status 418
Эксперт Python
4580 / 2348 / 601
Регистрация: 26.11.2017
Сообщений: 5,264
Записей в блоге: 3
29.05.2020, 15:17 11
KraviGO, так понятно что не верно. нужно написать свою функцию для сравнения(my_cmp)
я привел пример.
0
 Аватар для palva
4256 / 2952 / 688
Регистрация: 08.06.2007
Сообщений: 9,860
Записей в блоге: 4
29.05.2020, 17:22 12
KraviGO, теперь вижу, что моя программа работает неправильно.
0
Status 418
Эксперт Python
4580 / 2348 / 601
Регистрация: 26.11.2017
Сообщений: 5,264
Записей в блоге: 3
29.05.2020, 17:40 13
Лучший ответ Сообщение было отмечено KraviGO как решение

Решение

все решение:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
from functools import cmp_to_key
 
def my_cmp(x, y):
    if x+y > y+x:
        return -1
    elif x+y == y+x:
        return 0
    else:
        return 1
 
 
a = [input() for _ in range(int(input()))]
a.sort(key=cmp_to_key(my_cmp))
print(*a, sep='')
1
15 / 14 / 1
Регистрация: 28.05.2020
Сообщений: 23
29.05.2020, 20:14  [ТС] 14
Спасибо, программа работает верно. Сейчас разбираюсь как она построена.
0
 Аватар для Вадим Тукаев
308 / 289 / 116
Регистрация: 23.01.2018
Сообщений: 933
30.05.2020, 15:55 15
Python
1
2
3
from itertools import permutations
 
print(max(map(lambda x: int("".join(x)), permutations(input() for _ in range(int(input()))))))
0
0 / 0 / 0
Регистрация: 05.07.2021
Сообщений: 1
05.07.2021, 23:14 16
Прога не работает ни у еаа ни у В.Тукаева, тестировщик решение не берет - говорит неверный ответ
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
37456 / 20827 / 4281
Регистрация: 12.02.2012
Сообщений: 34,246
Записей в блоге: 14
06.07.2021, 17:36 17
Tatiana2018, программа работает и у Вадим Тукаев, и у eaa, просто нужно знать, какой ввод и какой вывод у твоего тестировщика. Ну, и желательно самой решать, а не искать решения в Сети, выдавая чужой ум за свой.
0
06.07.2021, 17:36
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.07.2021, 17:36
Помогаю со студенческими работами здесь

Самое большое уникальное число
Самое большое уникальное число У вас есть массив чисел длиною &quot;N&quot;. Нужно найти максимальное...

Самое большое уникальное число
Самое большое уникальное число У вас есть массив чисел длиною &quot;N&quot;. Нужно найти максимальное...

Самое большое число в списке
Нужно сделать программу, которая ищет самое большое число в списке (в списке 5 рандомных чисел и в...

Большое число потоков работающих с сетью
Проблема с большим числом потоков работающих с сетью порядка 5-7 тысяч периодически в лог...

Найти самое большое число в строке
Есть строка &quot;123,333,333,211,222,&quot; и в ней нужно найти самое большое число, подскажите, как это...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Rust или Go? А может C++?
hw_wired 28.01.2025
С каждой новой технологией или методологией появляются новые языки программирования, призванные решать конкретные задачи либо улучшать аспекты производительности и безопасности. Среди множества. . .
Fortran и WinAPI: как создать приложение с графическим интерфейсом
hw_wired 28.01.2025
Fortran — это один из старейших высокоуровневых языков программирования, широко используемый в науке и инженерии уже несколько десятилетий. Его название происходит от "Formula Translation" (перевод. . .
Списки в Haskell
hw_wired 28.01.2025
Haskell является функциональным языком программирования, который отличается лаконичностью синтаксиса и мощными абстракциями. Важным концептом в Haskell являются списки — упорядоченные коллекции. . .
Функции высшего порядка в Haskell
hw_wired 28.01.2025
Haskell – это современный функциональный язык программирования, который получил широкое распространение благодаря своей выразительности и мощным абстракциям. Одной из ключевых особенностей Haskell. . .
Как в цикле обойти все поля объекта в JavaScript
bytestream 28.01.2025
Объекты в JavaScript представляют собой фундаментальные структуры данных, которые позволяют хранить и организовывать связанную информацию в виде пар ключ-значение. Каждый объект можно представить как. . .
Как выбрать строки в DataFrame по значению столбца в Pandas
bytestream 28.01.2025
В области анализа данных библиотека Pandas стала незаменимым инструментом для работы с табличными данными в Python. Эта мощная библиотека предоставляет множество функций для эффективной обработки и. . .
Как сделать перенос строки в Bash
bytestream 28.01.2025
При работе с командной оболочкой Bash разработчики часто сталкиваются с необходимостью форматирования текстового вывода, где ключевую роль играет правильное управление переносами строк. Умение. . .
Поиск подстроки в строке с помощью Bash
bytestream 28.01.2025
Поиск подстроки в строке является одной из важных задач в программировании и обработке текстов. Применение такого поиска можно найти в самых разных областях, от анализа данных до разработки. . .
[golang] 169. Majority Element
alhaos 28.01.2025
Тут надо вернуть "мажористый" элемент который встречается в слайсе больше чем в половине случаев. По условиям задачи во входных данных такой элемент обязан присутствовать. / / . . .
Когда лучше использовать LinkedList вместо ArrayList в Java
bytestream 28.01.2025
При разработке Java-приложений выбор правильной структуры данных играет ключевую роль в обеспечении эффективности и производительности программы. ArrayList и LinkedList являются двумя. . .
Какой ответ HTTP лучше использовать: 403 Forbidden или 401 Unauthorized, когда недостаточно прав
bytestream 28.01.2025
В современной веб-разработке правильная обработка ошибок и точное информирование клиентов о статусе их запросов играют критическую роль в создании надежных и безопасных приложений. Особое внимание. . .
Как получить список всех файлов коммита в Git
bytestream 28.01.2025
Система контроля версий Git представляет собой мощный инструмент для управления изменениями в программном коде и других файлах проекта. В основе работы Git лежит концепция коммитов - снимков. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru