0 / 0 / 4
Регистрация: 16.02.2013
Сообщений: 123
|
||||||
1 | ||||||
Вычислить выражение с факториалом04.06.2016, 00:46. Показов 1374. Ответов 15
Метки нет (Все метки)
взяла живой пример конечно же.. и решила поучиться, поразбирать-попрактиковаться на нем...
нужно сделать скрипт, расчитывающий сумму значений выражения: у меня =$st - факториал $r.. в итоге - N у меня вводится а решение не выводится.. что я как обычно недоглядела, недопоняла?
0
|
04.06.2016, 00:46 | |
Ответы с готовыми решениями:
15
Вычислить выражение с факториалом вычислить выражение с факториалом выражение с факториалом Выражение с факториалом и суммой |
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
04.06.2016, 00:53 | 2 |
Во-первых сообщения об ошибках включить
Во-вторых такие задачи так не решают. В данном случае каждый член ряда легко вычисляется через предыдущий
1
|
0 / 0 / 4
Регистрация: 16.02.2013
Сообщений: 123
|
||||||
05.06.2016, 21:39 [ТС] | 3 | |||||
спасибо за подсказку.. сделала вот так
и вроде все закрыты скобки, и ендов лишних нигде нет.. где теперь мой косяк?
0
|
2169 / 1652 / 840
Регистрация: 10.01.2015
Сообщений: 5,190
|
||||||
05.06.2016, 22:18 | 4 | |||||
Похоже, так
Было не закрыто тело f
0
|
8 / 8 / 0
Регистрация: 29.06.2013
Сообщений: 154
|
||||||
05.06.2016, 22:21 | 5 | |||||
Вы комментировали участки кода и нечаянно потеряли скобочку.
Вот код с восстановленной скобочкой:
Их вам и надо решить. Вопросы: 1. Где у вас вызываются функции? Функции описаны, да, это всё хорошо. Но ниже там нарисована форма, где есть 2 кусочка для вывода результата: echo $resultText; и echo $errText; Они полностью пустые были и останутся. 2. Где у вас функция f вообще используется? Я, конечно, понимаю, что она делает определённые вычисления, но вызов функции "c" я нашёл внутри функции "f", а самой функции "f" - нет.
0
|
pav1uxa
|
05.06.2016, 22:24
#6
|
Не по теме: слоупок...
0
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
05.06.2016, 22:25 | 7 |
не все. Нужно отступы расставлять однообразно и тогда сразу видно будет где что закрывать
Ладно степень двойки через pow считать, но -1... это оставлю без комментариев. К тому же как говорил раньше в таких задачах НЕ надо вычислять каждый член заново, а вычислять через предыдущий.
0
|
8 / 8 / 0
Регистрация: 29.06.2013
Сообщений: 154
|
||||||
05.06.2016, 22:53 | 8 | |||||
Я не особо продвинут в программировании, но вот что получилось за минут 30.
P.S.: товарищи форумчане, просьба палками не кидать, сделал как мог.
0
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
05.06.2016, 23:03 | 9 |
И все же кину, да не палку а камень.
1) в задаче требовалось найти сумму. В коде этого нет 2) что за безобразие на 3-4 строчках? 3) не надо вычислять факториал через рекурсию 4) тут вообще не надо вычислять факториал
0
|
8 / 8 / 0
Регистрация: 29.06.2013
Сообщений: 154
|
||||||
05.06.2016, 23:16 | 10 | |||||
Добавлено через 40 секунд
1. Да, косяк. Не дочитал. Просто сделал выполнение этого выражения, заменяя исключительно N. 2. Безобразие на 3-4 строчках сохранилось ещё со старого скрипта ТС, просто другие переменные вставил и всё. Их можно удалить естественно. На 3 и 4 вопрос ответ у меня один: а как тогда вычислять факториал? Раз не рекурсия и не каждый раз заново, тогда как? Через while? Вот один нашёл кусок кода вычисления факториала:
0
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||||||
05.06.2016, 23:38 | 11 | |||||
Факториал элементарно вычисляется циклом. Чтобы каждый раз не пересчитывать достаточно использовать значение факториала на предыдущей итерации. Тоже самое касается члена данного ряда: зачем его считать заново, если каждое следующее значение элементарно получается через предыдущее?
Если нигде не затупил, то получается так
Естественно затупил, в знаменателе должно быть (2n-2)*(2n-1)
1
|
0 / 0 / 4
Регистрация: 16.02.2013
Сообщений: 123
|
||||||
07.06.2016, 20:56 [ТС] | 13 | |||||
Jewbacabra, а я нашла еще вот такое:
Поскольку каждый член ряда может быть получен из предыдущего домножением на определенный множитель, а вычисление «в лоб» каждого члена ряда приведет к появлению вложенных циклов, эффективнее будет использовать рекуррентное соотношение . Если не углубляться в расчеты получается что = можно ли провести расчет так тогда?будет ли так же верно?:
0
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
07.06.2016, 22:16 | 14 |
Сообщение было отмечено Милашечка как решение
Решение
1
|
0 / 0 / 4
Регистрация: 16.02.2013
Сообщений: 123
|
|
07.06.2016, 23:46 [ТС] | 15 |
- про результат заметила(((развитие данная мысля может иметь - или результат все время таким неверным будет?
и откуда 4 в - это моя 2 в квадрате, которая со степенью стояла?? Просто хочу попробовать, чтоб X со степенью той же стояло а не 2, понять откуда такой числитель.. задавать его в скрипте чтоб..
0
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
07.06.2016, 23:58 | 16 |
Сообщение было отмечено Милашечка как решение
Решение
1
|
07.06.2016, 23:58 | |
07.06.2016, 23:58 | |
Помогаю со студенческими работами здесь
16
Процедура, результатом которой будет выражение, являющееся факториалом числа Создать процедуру, результатом которой будет выражение, являющееся факториалом числа Определить функцию, результатом которой будет выражение, являющееся факториалом числа Вычислить задачку с факториалом Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |