1

Тема: Сума цифр числа

Допоможіть з задачею.

Задано N натуральних чисел. Знайти число з найбільшою сумою цифр.
ТУ. У першому рядку вхідного потоку дано N (N<100000). У наступному рядку через пропуск задаються самі числа.
У вихідний потік вивести перше з чисел з найбільшою сумою цифр.

У мене виводить останє число, а не те яке потрібго

#include <iostream>
using namespace std;

int summ(int m)
{
    int s = 0;
    while(m > 0)
    {
        s = s + m % 10;
        m = m / 10;
    }
    return s;
}
int main()
{
    int n, m;
    int c, i, max = 1;
    cin >> c;

    for(i = 1; i <= c; i++)
    {
        cin >> n;
        m = summ(n);
        if(m > max)
            max = m;
    }
    cout << n << endl;
}

2

Re: Сума цифр числа

cout << n << endl;

То виводьте max, а не n.

Подякували: leofun011

3

Re: Сума цифр числа

Arete правий; але max не зовсім правильно шукається. Вас же просять знайти число з найбільшою сумою цифр, а не суму його цифр. Найпростіше - порівнюйте n із max як

if(summ(n) > summ(max)) max = n;

Або ж зберігайте і максимальне число, і суму його цифр.

Подякували: Arete, leofun012

4 Востаннє редагувалося leofun01 (29.12.2018 16:56:36)

Re: Сума цифр числа

panpol, Цього разу я виправив відступи у вашому коді, але в майбутньому робіть це самі.

panpol написав:
#include <iostream>
using namespace std;

int summ(int m)
{
    int s = 0;
    while(m > 0)
    {
        s = s + m % 10;
        m = m / 10;
    }
    return s;
}
int main()
{
    int n, m;
    int c, i, max = 1;
    cin >> c;

    for(i = 1; i <= c; i++)
    {
        cin >> n;
        m = summ(n);
        if(m > max)
            max = m;
    }
    cout << n << endl;
}

Якщо видалити все "сміття", то отримаємо код еквівалентний вашому

#include <iostream>
using namespace std;

int main()
{
    int n, c;
    cin >> c;

    for(int i = 1; i <= c; i++)
    {
        cin >> n;
    }
    cout << n << endl;
}

Тобто цей код робить рівно те саме, що і ваш.
Тепер подумайте чому.


Та як так то ... Знову я не встиг.

5

Re: Сума цифр числа

Мені треба, щоб виводило число з найбільшою сумою. А в мене щось це не виходить. З тим щоб вивести максимальну суму немає проблем

6

Re: Сума цифр числа

Я вам дякую за допомогу. Усе запрацювало.