Сумма цифр трехзначного числа

  • 2
  • Недоступна
Вашему вниманию предлагается задачка, над которой придется немного помозговать. Или погуглить, если не слишком любите математические головоломки. Но в любом случае будет полезно понять, почему, что и как. Так вот, вам нужно реализовать метод, который принимает на вход трехзначное число, а выдает на выходе — сумму его цифр.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (120)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Ivan Karataev4 уровень, Новосибирск
вторник, 15:30
Пришлось обращаться за помощью)
karpoff196 уровень, Минск
15 мая, 14:03
Попробуйте через операнд %
WeDen5 уровень
15 мая, 11:42
создаем переменную n100 чтобы узнать количество сотен в исходном числе:
int n100 = number / 100;
вычитаем из исходного числа сотни, чтобы потом извлекать количество десяток:
int a = number - n100 * 100;
извлекаем количество десяток:
int n10 = a / 10;
удаляем десятки из исходного числа (который уже без сотен) и останутся только единицы:
int n1 = a - n10 * 10;
Суммируем количество сотен, десяток и единиц:
int n4 = n100 + n10 + n1;
Отдаем полученное число запрашиваемому методу:
return n4;
он получил эти данные и вывел то что запрашивал. Можете везде, где number заменить его на 546, чтоб понять логику кода :)
Станислав Рухляда7 уровень, Москва
13 мая, 16:00
Не понимаю .... нихрена
GigaMax12 уровень
21 апреля, 08:03
Задачу решил выделив сотни, десятки и единицы, и сложил их
Иван5 уровень
15 апреля, 15:13
Хоть бы в задании написали, что нужно сначала выделить эти цифры из указанного числа и только потом найти сумму этих чисел...
Александр 5 уровень, Москва
29 марта, 22:14
спасибо всем огромное разобрался немного как считать остаток
Анатолий8 уровень, Москва
27 марта, 10:44
В условии нашей задачи число 546, но это не важно. Там могло бы быть 1456 или 789. Нам нужно посчитать сумму цифр этого числа (546), то есть 5+4+6. Для этого создаем новую переменную, где будем считать сумму цифр числа и присваиваем ей имя (к примеру, sum). Как вы уже догадались, ее начальное значение будет равно нулю. Далее, наша задача в том чтобы из 546 «вычленить» сначала 6, потом 4, потом 5. Создаем еще одну переменную (к примеру, a). Получаем первое число путем деления number на 10. Ремарка, число делиться на 10 без остатка, если имеет в разряде единиц цифру "0". Ближайшим наименьшим к заданному числу (546), имеющим в разряде единиц цифру "0", является число – 540, получаем, 546 - 540 = 6 (остаток от деления числа 546 на 10). Затем sum присваиваем новое значение sum + полученное в результате деления число (переменная c именем a). Теперь у нас в sum записалось значение 6. Когда одно число получено, осталось получить два других. Для этого 546 разделим на 10, получив 54. Вот с этим числом нужно дальше работать по ранее описанной схеме, то есть 54 (такое теперь значение в переменной number) % 10 – получим 4 (переменная a). Для sum присваиваем новое значение sum + a; Теперь у нас в sum записалось значение 10 (6+4). И наконец, вычисляем последнее значение путем деления number на 10 (получим 7); К переменной с именем sum присваиваем новое значение sum + number. Теперь у нас в sum записалось значение 15 (6+4+5). Возвращаем sum.
Данил5 уровень, Новосибирск
22 марта, 17:09
Я наверное главный извращенец, решил так: 1) Привёл число к строке; 2) Взял символы по номеру из строки, записал их в три переменных char методом charAt(n); 3) Вернул сумму значений номеров из переменных методом Character.getNumericValue.
Nazim10 уровень, Москва
25 марта, 13:01
это легки ход, лучше постарайся код написать который на любое число будет писать ответ
Jose Rainbow9 уровень, Санкт-Петербург
27 марта, 01:20
Сделал точно также. Завтра уже сделаю под числа.
Bio BoJlk5 уровень, Москва
14 апреля, 15:47
Когда не понимал как решать эту задачу, это была первая мысль как реализовать решение. Привод числа к строке…
Andrew Dodonov7 уровень, Москва
17 апреля, 16:02
А я преобразовывал число в строку, потом строку в символы, потом символы в список (через цикл), а потом через цикл складывал элементы списка )) Зато теперь складывает число любой длины )
karpoff196 уровень, Минск
15 мая, 13:47
А как бы посмотреть на это?
Yulia Gorshkova9 уровень, Санкт-Петербург
23 февраля, 20:45
Смогла решить исключительно потому, что однажды слышала о том, что в Java есть операция получения остатка от деления. Иначе бы тихо двинулась крышечкой.