Сумма цифр числа через данный алгоритм
Задача: В этой задаче вам будут даны несколько значений для которых нужно посчитать сумму цифр. Вам следует реализовать алгоритм который в цикле делит число на 10 и суммирует получаемые остатки (это и будут цифры, появляющиеся как бы задом-наперед).
Входные данные имеют такой формат:
первая строка содержит число N - количество тестов которые нужно обработать;
следующие N строк содержат по три целых числа A B C, составляющих один тест;
для каждого теста нужно умножить A на B и добавить C (т.е. A * B + C) - после чего сосчитать сумму цифр результата.
Ответ должен содержать N результатов, разделенных пробелами.
входные данные:
3
11 9 1
14 90 232
111 15 111
ответ:
1 16 21
Алгоритм через который должно это решаться:
1492 div 10 = 149 and 2 as a remainder
149 div 10 = 14 and 9 as a remainder
14 div 10 = 1 and 4 as a remainder
1 div 10 = 0 and 1 as a remainder
Можно сказать, что я ее решил, но не тем способом и неправильно, тк я не понимаю как мне убрать последнее число после каждого деления. Например: 111*15+111=1776. Я делю 1776 на 10 через % и забираю остаток 6, но как мне теперь делить число 177? и дальше числа 17 и 1 отдельно?
Я написал по другому, но и это не работает до конца правильно, некоторые ответы он выводит правильные - некоторые нет. Но лучше объясните как сделать по способу изложенному выше.
using namespace std;
int main() {
int n;
cin >> n;
for (int a, b, c, i = 0; i < n; i++) {
cin >> a >> b >> c;
int action = a * b + c;
int sum = (action / 100) + (action % 10 / 10) + (action % 10);
cout << sum << " ";
}
return 0;
}