Дано n целых положительных чисел. Требуется определить в каком из них самая большая сумма цифр и вывести номер этого числа. Формат входных данных
Целое положительное число 1 < n < 20;
n целых положительных чисел 0 < numN < 2 147 483 648.
Формат выходных данных
Номер числа с наибольшей суммой цифр. Если таких чисел несколько, выведите номер первого из них.
входные данные
6
38275955
1324667620
1270258744
846055699
679263851
18099845
выходные данные
4
python
Ответы на вопрос:
amount = int(input())
numbers = []
numbers2 = []
for i in range(amount):
numbers.append(input())
numbers2.append(0)
for z in range(amount):
for i in numbers[z]: numbers2[z] += int(i)
print(str(numbers2.index(max(numbers2)) + 1))
--- Python 3.8.3 ---
import typing
from typing import Callable
from typing import AnyStr
from typing import Any
from typing import Iterable
from typing import List
from math import inf
#DEFINE User-Types
Numeric = typing.TypeVar('Numeric', int, float, complex)
Primitive = typing.TypeVar('Primitive', int, float, complex, str, bytes, bytearray)
#END
def IndexMax(Array: List[Any]) -> int:
'''
Возвращает индекс первого вхождения максимума для list
'''
_max = -inf
_maxind = 0
for index, item in enumerate(Array):
if item > _max:
_max = item
_maxind = index
return _maxind
def ReadSeq(SeqLen: int, CastType: Primitive = int):
'''
Возвращает последовательность элементов в указанном типе, считанных с клавиатуры, заданной длины.
'''
try:
for _ in range(SeqLen):
yield CastType(input())
except TypeError:
raise RuntimeError(f'Unsupported type: {CastType}')
def ListTransform(Data: List[Any], Tranformer: Callable[[Any], Any], Selector: Callable[[Any], bool] = lambda p: True):
'''Трансформирует элементы list, удовлетворяющие условию, в соответствии с заданным правилом
По умолчанию трансформирует все элементы'''
for index, item in enumerate(Data):
if (Selector(item)):
Data[index] = Tranformer(item)
return Data
def main():
n = int(input())
RawData = list(ReadSeq(n))
Summator = lambda Integer: sum(map(int, list(str(Integer))))
print(IndexMax(ListTransform(RawData, Summator))+1)
if __name__ == "__main__":
main()
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
marinafox25301.09.2020 18:58
-
neverr29.04.2021 07:31
-
PonyLove1121.08.2020 02:40
-
Данара2429.04.2021 23:22
-
extysq300005.01.2020 07:46
-
Kurbakovli18.11.2022 07:58
-
Kuznezovamargo02.07.2020 01:10
-
pumperdat10.07.2022 18:02
-
MrCriMa06.09.2022 11:10
-
SledjeTV10.10.2021 07:40
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.