Java
В чем смысл задачи? Решение не надо, кода не надо, просто хочу понять, что нужно сделать, заранее спасибо
Факториалом натурального числа n (обозначается n!) называется произведение всех натуральных чисел от 1 до n. Например, 4! = 1·2·3·4 = 24. Дано целое положительное число A. Необходимо найти ближайшее к A число, которое является точным факториалом какого-либо натурального числа. Если два точных факториала одинаково близки к A, нужно выбрать меньший из них. Например, для A = 15 нужно получить ответ 6, а для A = 20 – ответ 24.
1. Вводишь число A.
2. Находишь 2 соседних факториала P = (n-1)! и Q = n! (т. е. Q = P * n):
таких, что P <= A и Q >= A
3. Сравниваешь A - P и Q - A.
4. Выбираешь из P и Q значение, для которого вышеуказанная разность меньше.
5. Если разности равны - выбираешь P
2. Находишь 2 соседних факториала P = (n-1)! и Q = n! (т. е. Q = P * n):
таких, что P <= A и Q >= A
3. Сравниваешь A - P и Q - A.
4. Выбираешь из P и Q значение, для которого вышеуказанная разность меньше.
5. Если разности равны - выбираешь P
Нужно аккуратно вычислять факториал до тех пор, пока не найдешь такой, который больше твоего числа. Предыдущий факториал тоже нужно запоминать все время.
Затем нужно выбрать тот из них (назовем его f1), для которого справедливо |f1 - a| < |f2 - a|. Если |f1 - a| = |f2 - a| то такой, что f1 < f2.
Затем нужно выбрать тот из них (назовем его f1), для которого справедливо |f1 - a| < |f2 - a|. Если |f1 - a| = |f2 - a| то такой, что f1 < f2.
Сведи вопрос к такому. Даны два числа. Какое из них ближе к третьему (тоже заданному)?
Идея решения задачи проста. Все решение можно записать в одну строку, если вы умеете писать программы на JavaScript. Делюсь идеей, надеясь, что в комментариях к ответу увижу ваш код.
1)Вам дали число A
2)Вы берете число d=2
3)Если A<=d, то задача решена
4)Нет не меньше, тогда A=A/d, d=d+1 и возвращаемся к пункту 3.
5)Здесь наш цикл завершился. Печатаем результат и не забываем, что A в самом начале алгоритма должно преобразовано из integer в real.
Повторюсь. Исходный код решения можно уместить в одну строку программы. Удачи. ;-)
1)Вам дали число A
2)Вы берете число d=2
3)Если A<=d, то задача решена
4)Нет не меньше, тогда A=A/d, d=d+1 и возвращаемся к пункту 3.
5)Здесь наш цикл завершился. Печатаем результат и не забываем, что A в самом начале алгоритма должно преобразовано из integer в real.
Повторюсь. Исходный код решения можно уместить в одну строку программы. Удачи. ;-)
Я думаю, что нужно задать А и найти минимальное abs(А-n!) перебирая n и вычисляя n!
условие задачи смысл расписываает.
Дано число, например 100
есть результаты значений факториалов они всегда константы.
1! = 1, 2! = 1*2=2, 3! = 6, 4! = 24, 5!=120
находим область между двумя фракталами в ккоторое попадает число 100 - это 4! и 5! и далее сравниваем какой путь до а от факториала будет короче, то есть если 100-4! будет меньше чем 5!-100, тогда ответ 4!, в противном случае 5!
Дано число, например 100
есть результаты значений факториалов они всегда константы.
1! = 1, 2! = 1*2=2, 3! = 6, 4! = 24, 5!=120
находим область между двумя фракталами в ккоторое попадает число 100 - это 4! и 5! и далее сравниваем какой путь до а от факториала будет короче, то есть если 100-4! будет меньше чем 5!-100, тогда ответ 4!, в противном случае 5!
Похожие вопросы
- Что такое фреймворк? Кто нибудь может вразумительно объяснить, что такое фреймворк? Заранее спасибо)
- Поделитесь своими соображениями с начинающим java-"кодером")))Заранее спасибо!
- Помогите с задачей . Код по желанию, мне нужен ход решения .
- В этом коде сделать так чтобы был ОДИН метод, (а не 3, как в коде) позволяющий вводить с клавиатуры его характеристики
- Подскажите пожалуйста, как в данном коде Java сделать так, чтоб при нажатии цифры 3 программа завершала свою работу?
- Как можно протестировать этот код и понять правильно он работает? JUnit 4. NetBeans.
- Нужно написать Java код на NetBeans IDE 8.2, пожалуйста
- Как тестируют код разработчики игр?
- Код на java.
- Помогите доделать код на java. В форму пользователь вводит символ, который нужно заменить на #.