из племени тумба-юбма
2467 / 1790 / 417
Регистрация: 29.11.2015
Сообщений: 8,690
Записей в блоге: 15
1

Слегка вспоминая факториалы

14.11.2019, 17:55. Показов 1739. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
На днях столкнулся на форуме с задачей, довольно простой, но не могу ее решить по предоставленной формуле. Сама формула и задача есть тут https://ipc.susu.ru/210-2.html?problem=561
Слегка вспоминая факториалы

Согласно условию задачи нужно ввести число '5' и получить результат '111.398381'. Но у меня не получается такой результат, возможно что то не так считаю. Подскажите как правильно должен вестись расчет.
Ниже привожу свой расчет, как понимаю формулу:
https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{120}{\frac{1}{2}+\frac{1}{3}+\frac{1}{4}+\frac{1}{5}+\frac{1}{6}} равно https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{120}{\frac{30}{60}+\frac{20}{60}+\frac{15}{60}+\frac{12}{60}+\frac{10}{60}} равно https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{120}{\frac{87}{60} равно https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{120}{1,45} равно 82,75862069

Почему получается в примере '111.398381', не могу понять.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.11.2019, 17:55
Ответы с готовыми решениями:

Вспоминая молодость...
Попалась на глаза старая фотография. Снимал не специально, просто иногда надо было обработать...

Вспоминая dBASE
В dBASE можно было при помощи команды REPLACE присваивать полям БД нужные значения. В Access...

Переменная слегка глобальная?
Есть процедура, допустим, odin. У нее есть локальная переменная, скажем, ааа. Наша процедура...

Движение слегка качаясь
Как оформить движение вверх например куба вверх с легким покачиванием из стороны в сторону? Один...

15
Модератор
Эксперт JS
6279 / 3518 / 1050
Регистрация: 07.09.2019
Сообщений: 5,662
Записей в блоге: 1
14.11.2019, 18:08 2
Может быть, 5 следует подставить вместо n, а не вместо k ? То есть переменная n должна принять значение 5.

Сейчас прикинул — результат вроде сходится.
0
из племени тумба-юбма
2467 / 1790 / 417
Регистрация: 29.11.2015
Сообщений: 8,690
Записей в блоге: 15
14.11.2019, 18:22  [ТС] 3
DrType, а n совсем не знаю куда приткнуть в моем расчете.
Иными словами я не понимаю формулу, или знак суммы с 'n' - вверху и 'k=1' - внизу. Может быть в этом и ошибка моя. Ка правильно считать тогда надо, можете объяснить?
0
Модератор
Эксперт JS
6279 / 3518 / 1050
Регистрация: 07.09.2019
Сообщений: 5,662
Записей в блоге: 1
14.11.2019, 18:22 4
Нет... Что-то у меня не сходится...
0
из племени тумба-юбма
2467 / 1790 / 417
Регистрация: 29.11.2015
Сообщений: 8,690
Записей в блоге: 15
14.11.2019, 18:23  [ТС] 5
Или сфоткайте листочик написанный с расчетом, для визуального понятия.
0
Модератор
Эксперт JS
6279 / 3518 / 1050
Регистрация: 07.09.2019
Сообщений: 5,662
Записей в блоге: 1
14.11.2019, 18:32 6
Лучший ответ Сообщение было отмечено мама Стифлера как решение

Решение

Я тем временем расписывал LaTeX-ом.
Такая запись обозначает сумму всех слагаемых от 1 до n включительно; k — просто имя любого числа от 1 до n. Значит, в данном случае надо взять сумму https://www.cyberforum.ru/cgi-bin/latex.cgi? 2+ \frac{2!}{ \frac{1}{2}+ \frac{1}{3}} + \frac{3!}{ \frac{1}{2}+\frac{1}{3}+\frac{1}{4}}+\frac{4!}{\frac{1}{2}+\frac{1}{3}+\frac{1}{4}+\frac{1}{5}}+x, где x Вы уже вычислили.
1
из племени тумба-юбма
2467 / 1790 / 417
Регистрация: 29.11.2015
Сообщений: 8,690
Записей в блоге: 15
14.11.2019, 18:44  [ТС] 7
DrType, ну так в итоге получается нужный результат или нет?
Не понял еще почему в начале у вас просто 2. И к чему тогда дано значение 5, по условию задачи, к факториалу 'k!', или к 'n'?

Добавлено через 5 минут
Вроде понял, попробую посчитать ))
0
Модератор
Эксперт JS
6279 / 3518 / 1050
Регистрация: 07.09.2019
Сообщений: 5,662
Записей в блоге: 1
14.11.2019, 18:47 8
В начале надо было написать https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{1}{(\frac{1}{2})}, но я решил упростить.
Про смысл записи https://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{k=1}^{n} почитайте хотя бы здесь.
Получается или нет нужный результат — в уме посчитал, но при этом округлял, так что не знаю — можете проверить
1
из племени тумба-юбма
2467 / 1790 / 417
Регистрация: 29.11.2015
Сообщений: 8,690
Записей в блоге: 15
14.11.2019, 18:51  [ТС] 9
DrType, большое спасибо, должно получится думаю, посчитаю позже ))
0
Модератор
Эксперт JS
6279 / 3518 / 1050
Регистрация: 07.09.2019
Сообщений: 5,662
Записей в блоге: 1
14.11.2019, 18:55 10
Запись
https://www.cyberforum.ru/cgi-bin/latex.cgi?\sum^n_{k=1}a_k
предполагает, что в множестве https://www.cyberforum.ru/cgi-bin/latex.cgi?A, из которого набираются a, задана последовательность https://www.cyberforum.ru/cgi-bin/latex.cgi?f : \mathbb{N}\rightarrow A, https://www.cyberforum.ru/cgi-bin/latex.cgi?f(k)=a_k, и теперь мы берём сумму первых n членов этой последовательности. Существует вариант
https://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{k=1}^\infty;
такая запись означает, что берётся сумма всех членов последовательности.

Добавлено через 2 минуты
Не за что
1
из племени тумба-юбма
2467 / 1790 / 417
Регистрация: 29.11.2015
Сообщений: 8,690
Записей в блоге: 15
15.11.2019, 07:01  [ТС] 11
DrType, я вот хотел сейчас посчитать, но задумался - ведь не зря формула такая существует. То есть должен быть по формуле быстрый расчет, чтоб не расписывать все так много. В итоге суть формулы мне понятна, но как ее применить для быстрого расчета, все равно не пойму.
Что на что надо как то перемножить, чтоб получить быстрый результат '111.398381'? Не расписывая, как вы мне вчера показали. Это ладно 5!, а если будет 25!, тогда замучаешься расписывать и считать. Поэтому покажите пожалуйста, что куда подставить, чтоб посчитать быстро.

Добавлено через 2 минуты
Получается, мой вопрос как бы решён, но не решён
0
Модератор
Эксперт JS
6279 / 3518 / 1050
Регистрация: 07.09.2019
Сообщений: 5,662
Записей в блоге: 1
15.11.2019, 10:46 12
А вот это интересный вопрос. Чтобы ответить, действительно надо слегка вспомнить факториалы... Надо подумать.
0
из племени тумба-юбма
2467 / 1790 / 417
Регистрация: 29.11.2015
Сообщений: 8,690
Записей в блоге: 15
15.11.2019, 14:33  [ТС] 13
DrType, ладно не мучайся, возможно что нет быстрого расчета, так как суммы будут космические. Вот в программу вбил расчет и при n = 25 получилось - 5664179989532446300000000.00
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
17.11.2019, 23:47 14
Цитата Сообщение от мама Стифлера Посмотреть сообщение
получилось - 5664179989532446300000000.00
FYI
Это уже неточное округлённое число, т.е. для него в машинной записи не хватает точности. Если у себя использовал float, то попробуй заменить его на double или long double. Если будет мало и если используешь gcc, то можно использовать __float128. Если и этого будет мало - то только библиотеки для представления длинных чисел

Вероятно, по этой причине в условии задачи оговорено n только до 15

Цитата Сообщение от мама Стифлера Посмотреть сообщение
ведь не зря формула такая существует
Статистическое большинство в математику существует зря. Много вещей существует в таком виде долгие годы, пока не находится какая-нибудь задача, где оно реально оказалось востребовано. Но большинство всё-таки просто болтается в воздухе без реального практического применения
0
из племени тумба-юбма
2467 / 1790 / 417
Регистрация: 29.11.2015
Сообщений: 8,690
Записей в блоге: 15
17.11.2019, 23:57  [ТС] 15
Evg, при double столько же нулей. Да уже и так понятно что это очень много.
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
17.11.2019, 23:59 16
Столько же нулей в данном случае означает, что такая величина округлена с точностью до скольки-то знаков ПЕРЕД запятой

Если ты уже готов к тому, чтобы писать расчётные программы с вещественными числами, то полезно будет ознакомиться https://www.cyberforum.ru/blogs/18334/blog88.html
1
17.11.2019, 23:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.11.2019, 23:59
Помогаю со студенческими работами здесь

Слегка переделать программу
Вот прога uses crt; var a: string; i, k: integer; Begin clrscr; a:='Л И П А'; k:=0;...

Поток слегка глючит
Сделал поток вручную по этому способу http://www.delphi-manual.ru/threads.php#Manual У меня вобщем...

Требуется слегка переделать программу!
uses crt; var d:array of real; i,j,m,n,k,f:integer; a:array of integer; begin...

Слегка освежить старый компьютер
Здравствуйте. Имеем на руках старый компьютер: Проц: QuadCore Intel Core i5-2400, 3200 MHz (32...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru