Даны n чисел.
Найдите среди них число с минимальной суммой цифр (а из чисел с одинаковой
суммой – последнее).
Вход. В первой строке находится число n (1 ≤ n ≤ 105).
В следующей строке через пробел перечислены все числа. Все числа натуральные,
не превышающие 109.
Выход. Выведите одно
число – искомый минимум.
Пример
входа 1 |
Пример
выхода 1 |
4 7 8 9 10 |
10 |
|
|
Пример
входа 2 |
Пример
выхода 2 |
4 41 32 23 14 |
14 |
циклы
Реализуем
функцию, вычисляющую сумму цифр числа. Ищем число с наименьшей суммой цифр.
Среди чисел с одинаковой наименьшей суммой цифр ищем наименьшее.
Функция sum
находит сумму цифр числа.
int sum(int
n)
{
int s = 0;
while(n >
0)
{
s += n % 10;
n /= 10;
}
return s;
}
Основная часть программы. Читаем входные данные. В переменной
minSum подсчитываем минимальную сумму цифр. Среди всех чисел с
наименьшей суммой цифр минимальное сохраняем в переменной minVal.
scanf("%d",&n);
minSum =
2100000000;
for(i = 0; i < n; i++)
{
scanf("%d",&val);
Для каждого числа val
вычисляем сумму его цифр s.
s = sum(val);
if (s <=
minSum)
{
minSum = s;
minVal = val;
}
}
Выводим искомое число.
printf("%d\n",minVal);