Факториал

  • 8
  • Недоступна
На планете Линейный Хаос поиском факториала двузначных чисел на их планете принято занимать младенцев. Ну а мы подойдём по-взрослому, по-программистски, и напишем метод, вычисляющий факториал вплоть до введённого числа.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (382)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Elidriel
Уровень 17, Воронеж
12 января, 17:22
в принципе, если нет понимания про BigDecimal, то для решения задачки хватит и этой статейки - https://javarush.ru/groups/posts/2274-kak-ispoljhzovatjh-bigdecimal-v-java
Евгений
Уровень 18, Москва, Russian Federation
29 декабря 2021, 04:40
Элегантно. А я по привычке делал через рекурсию. Рекурсия с BigInteger требует много преобразований типов.
StelZ
Уровень 35
27 декабря 2021, 14:00
Пусть вас не смущает 0! = 1 после последнего пункта описания. Выводить нужно именно 0, а не 1
Elidriel
Уровень 17, Воронеж
12 января, 17:21
да вот и нет! при 0 должно вывести 1, а вот при числе меньше 0 должен выводиться 0;
Иванов Дмитрий
Уровень 30, Борисоглебск, Russian Federation
23 декабря 2021, 15:47
Началось всё с int, затем плавно перешёл к long и только потом заметил import java.math.BigDecimal; 😅 Прикольная задачка 🙃 Даже немного подняла самооценку т.к. в школе я был очень слаб в точных науках. Даже не пришлось гуглить нахождение факториала. Цикл сам пришёл в голову при прочтении условия 4! = 1*2*3*4 (сказывается 3 месяца на ДжаваРаш! Раньше бы точно завис) P.S. судя по всему условие подправили и доработали. Раньше было жёстче.
joke_jo Инженер-конструктор 2к.
26 декабря 2021, 12:14
Аналогично начал с инт, увидел переполнение через дебажную распечатку результата каждого цикла, вспомнил о BigDecimal, понял что BigDecimal тут не вперся и импортировал java.math.BigInteger. Дальше to-do. Задачка на 10 минут, с чтением дополнительной литературы по теме.
Иванов Дмитрий
Уровень 30, Борисоглебск, Russian Federation
26 декабря 2021, 17:12
Да ты рисковый!))) Поменял на BigInteger😁 Я даже не осмелился! Ибо компилятор очень коварный на JR. Строчка влево, строчка вправо - расстрел😱
Vadim
Уровень 19, Санкт-Петербург
21 декабря 2021, 13:14
Норм задачка)
Сергей Коваленко
Уровень 32, Краснодар
20 декабря 2021, 18:30
BigDecimal 🤓
joke_jo Инженер-конструктор 2к.
26 декабря 2021, 12:18
Зачем применять плавающую точку при вычислении явно целочисленного результата?
Сергей Коваленко
Уровень 32, Краснодар
26 декабря 2021, 12:40
вдруг финансисты захотят использовать код 😁
Grustnij Los'
Уровень 28, Санкт-Петербург, Russian Federation
20 ноября 2021, 20:30
Задача огнище! Сделал новый рекурсивный метод с типом БигДецимал.
БелК в труселях
Уровень 32, Покровск, Ukraine
14 ноября 2021, 21:08
Да откуда я знал, что 0 факториал=1??? Из-за этого сразу не получилось. Хотя BigDecimal почитал. Спасибо
Lexus12321
Уровень 23, Нижний Новгород, Russian Federation
10 ноября 2021, 18:01
Решил сначала задачу через double, а вывод организовал через format - String.format("%.0f", res), но валидатор не принял, хотя все считалось правильно, с BigInteger валидатор принял...
Chillentino
Уровень 29, Оренбург
6 ноября 2021, 07:34
Из-за отсутствия понимания работы BigInteger задача оказалась не простой. После того, как посмотрел среднее количество попыток, понял, что не у меня одного такая проблема. Очень помогло следующее видео: https://www.youtube.com/watch?v=UD8rCe_QVOE там все разложено по полочкам, правда у лектора с произношением не очень 😬 но спасают субтитры