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

  • 2
  • Недоступна
Вашему вниманию предлагается задачка, над которой придется немного помозговать. Или погуглить, если не слишком любите математические головоломки. Но в любом случае будет полезно понять, почему, что и как. Так вот, вам нужно реализовать метод, который принимает на вход трехзначное число, а выдает на выходе — сумму его цифр.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (107)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
DarkTemplar4 уровень
9 часов назад
public static int sumDigitsInNumber(int number) { int s=0; int x=number; while (x != 0); { s += x%10; x /= 10; } return s; }} Что здесь не так?
Данил4 уровень, Новосибирск
пятница, 17:09
Я наверное главный извращенец, решил так: 1) Привёл число к строке; 2) Взял символы по номеру из строки, записал их в три переменных char методом charAt(n); 3) Вернул сумму значений номеров из переменных методом Character.getNumericValue.
Nazim4 уровень, Москва
4 часа назад
это легки ход, лучше постарайся код написать который на любое число будет писать ответ
Yulia Gorshkova6 уровень, Санкт-Петербург
23 февраля, 20:45
Смогла решить исключительно потому, что однажды слышала о том, что в Java есть операция получения остатка от деления. Иначе бы тихо двинулась крышечкой.
Jai4 уровень
20 февраля, 22:55
Сделал.Создал 4 переменные.Условно:сотня,единица,десяток,сумма.Каждой присвоил значение через деление int number,пользуясь правилами деления целых чисел(/,%) на 100 и 10.Повозился с десятками,но присвоил им значения тоже.Сумма сотни,десятка,единица дают sum.Его и возвращаем в метод.
9 марта, 07:30
Решила практически также. Только создала 3 переменные. Для тех, кто все равно ничего не понял. int a = 546/100 возвращает 5. Думайте, как получить остальные цифры. В конце return a + b+ c;
Ivan4 уровень, Екатеринбург
четверг, 18:41
А у меня такое решение не прошло тестирование, хотя результат был верный.
Leo4 уровень, Казань
четверг, 19:05
ну твой код сработает конкретно для числа 546, а если там будет 999?
//Дима4 уровень
16 февраля, 11:17
https://www.youtube.com/watch?v=vSQwURYY84E Решение такой же задачи разжевано и в картинки положено))) только после нее смог решить PS через остаток от числа
Ardak5 уровень
4 марта, 04:09
Спасибо!
Tanarri18 уровень
31 января, 17:29
Валидатор принял со 2 попытки, так как забыл закомментировать промежуточные выводы. рукалицо( тем не менее, если не гуглить и копать в массивы, все решается спокойно в 1 строку.
29 января, 14:07
Ребята! Задачи надо решать используя только те знания, которые были получены в лекциях. Никаких о каких остатках от деления, циклах, и длинах числа речи не шло. И все решается легко и просто! Число трехзначное - значит есть сотни, десятки и единицы. Что надо сделать, чтоб узнать сколько сотен?... Ага!
Юра Власенко7 уровень
2 февраля, 15:36
Спасибо!
Тим6 уровень, Днепр
10 февраля, 21:43
Я походу очень, и очень туп...
Максим Василенко8 уровень, Киев
11 февраля, 16:17
Не соглашусь. В лекциях даётся капля из моря. Тут весь курс построен так,чтоб ты читал не только здесь,а и умел искать информацию самостоятельно на стороних ресурах.
Андрей9 уровень, Киев
15 февраля, 19:25
Спасибо, дочитывая ваш коммент, сразу вспомнились недавние задачки с минутами.
Nikimius8 уровень, Нижний Новгород
23 января, 17:27
К первой задачке вот код функции: String s = String.valueOf(number); String[] arr = s.split(""); int m = 0; for(int i=0; i<s.length(); i++){ m = m + Integer.parseInt(arr[i]); } return m; Алгоритм: 1) переводим число в тип строку и заносим в переменную s; 2) разделяем посимвольно и заносим в массив arr; 3) с помощью цикла складываем элементы массива, одновременно переводя в числовой тип данных; 4) возвращаем значение суммы. Данный алгоритм универсальный, то есть необязательно для трехзначного числа.
Vladimir Tanski6 уровень
5 марта, 20:24
Так же решил :)
Boston7 уровень
23 января, 12:17
Походу задача для 10+ лвл)
Александр16 уровень, Минск
22 января, 20:26
не уверен конечно, но решил просто арифметически. поделил на 100, потом отнял и поделил на 10. int округляет. Вот еслиб в условии было написано "...любое число...", а там конкретно написано "целое трехзначное", поэтому думаю так можно :)
29 января, 14:08
все правильно!
Denis4 уровень
18 февраля, 16:21
tak i nado