Необходимо вывести из этого массива число с наибольшей суммой цифр
arr = [120000, 135, 17, 8, 267, 9, 1500]
def func(lst):
index, value = max(enumerate(lst), key=lambda x: sum(int(digit) for digit in str(x[1])))
return index, value
result_index, result_value = func(arr)
print(f"Индекс числа с наибольшей суммой цифр: {result_index}")
print(f"Значение числа: {result_value}")
Или
arr = [120000, 135, 17, 8, 267, 9, 1500]
def max_sum_of_digits(numbers):
max_index = None
max_digit_sum = 0
for i, number in enumerate(numbers):
current_digit_sum = sum(int(digit) for digit in str(number))
if current_digit_sum > max_digit_sum:
max_digit_sum = current_digit_sum
max_index = i
return max_index, numbers[max_index]
result_index, result_value = max_sum_of_digits(arr)
print(f"Индекс числа с наибольшей суммой цифр: {result_index}")
print(f"Значение числа: {result_value}")
public class Solution {
public int findNumberWithMaxDigitSum(int[] nums) {
int maxSum = Integer.MIN_VALUE; // Начальное значение максимальной суммы
int number = -1; // Начальное значение числа с наибольшей суммой
for (int num : nums) {
int sum = 0;
while (num > 0) {
sum += num % 10;
num /= 10;
}
if (sum > maxSum || (sum == maxSum && num > number)) {
maxSum = sum;
number = num;
}
}
return number;
}
}