자연수를 받고, 각 자릿수의 합 중 최대를 구한다. 만약 최대값이 여러개 있다면, 원래 수가 큰 애로 출력한다.
int digit_sum(int x)
{
int sum = 0;
while(x > 0)
{
sum = sum + x % 10;
x /= 10;
}
return sum;
}
int main(int argc, char** argv) {
int num = 0;
int nums = 0;
int result = 0;
int output = 0;
int max = -2147000000;
int i, j;
// freopen("input.txt", "rt", stdin);
scanf("%d", &num);
for(int i = 0; i < num; ++i)
{
scanf("%d", &nums);
result = digit_sum(nums);
if(max < result)
{
max = result;
output = nums;
}
else if(max == result)
{
output = output > nums ? output : nums;
}
}
cout << output << endl;
return 0;
}