Есть ответ 👍

Дано n целых положительных чисел. Требуется определить в каком из них самая большая сумма цифр и вывести номер этого числа. Формат входных данных
Целое положительное число 1 < n < 20;

n целых положительных чисел 0 < numN < 2 147 483 648.

Формат выходных данных
Номер числа с наибольшей суммой цифр. Если таких чисел несколько, выведите номер первого из них.

входные данные
6
38275955
1324667620
1270258744
846055699
679263851
18099845
выходные данные
4
python

205
395
Посмотреть ответы 3

Ответы на вопрос:

andreyoy
4,5(22 оценок)

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()


#include< iostream> using namespace std; void main() { int arr[10]={1,5,1,1,2,9,5,2,3,1}; int counter=0; for(int i=0; i< 10; ++i) for(int j=9; j> i; --j) if(arr[i]==arr[j]) { ++counter; break; } }

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS