решил задачу да неправильно, не знаю в чём причина, уже всё перепробовал,ответ есть, но только он неправильный
текст такой:1+((2 в степени n)/(2 в степени n+1)),и всё это в цикле,который начинается с 1/2... и т.д.
Постановка задачи неясна. Запишите, пожалуйста, общую формулу полностью. По условию похоже, что надо посчитать сумму числового ряда
S=sum(1+(2^n)/(2^(n+1))) - это, так сказать, псевдокод <_<
(Индекс n меняется от? и до?) А в приведенном решении описаны какие-то более запутанные расчеты.
Ну попадись ты мне! Руки поотшибаю! Кто же двойку так в степень возводит???
2^n = 1 Shl n!
Ладно, едем дальше. У тебя в формуле стоит 1+... В программе я этого не наблёл. А вообще там трудно что понять
Если тебе надо посчитать сумму ряда, то делается это так:
текст примерно такой: 1/2/4/2^n/2^n+1, только ещё перед каждым знаком / стоит 1+
догнал. После обеда напишу.
Всё-таки не до конца понял. Точнее я понял так, как на этой картинке. Есди чего не так, то изобрази это в Paint'е и пришли.
Прикрепленные изображения
что-то я не понял как сюда паинт затолкать
Я тоже не понял, пока не объяснили В самом низу есть кнопка "ответить". Вот её нажми, а там и появится место где файл приатачить можно.
получилось, теперь попробуйте решить, я уже не знаю что и делать, даже мои знакомые не знают как решать
Решить как будто бы можно. Алгоритм нужно строить "снизу вверх", то есть от самого нижнего знаменателя. И будет всего один цикл типа
FOR I:=N DOWNTO 0 DO
(Примерно так.) Сам расчет строится по принципу
1. Вначале R := 2^(n+1)
2. Далее для всех i от n до 0 делаем следующее:
R := 1 + ((2^i)/R)
В итоге должна получиться та же формула, что и у Вас, но еще +1. Эту единицу можно в конце вычесть, если нужно. Программу пишите сами. Когда напишете, можем поправить. Удачи!
Где-то так:
Решается рекурсивной функцией.
Не забывать поставить условие для выхода из функции!!! Иначе зациклится!
Условие там и так уже стоит:
APAL,
Это я не тебе адресовал, а Ksanderу. ;)
romtek, спасибо тебе за ответ, если ты умеешь решать рекурсию может решишь мне задачу с помощью реккурентных формул, но только не надо путать с рекурсией
Эскизы прикрепленных изображений
хочу сказать что ни одно из предложенных вами решении задачи не оказалось правильным, неужели вам самим не интересно решить эту задачу
вроде всё правильно,но когда время доходит до ответа,там даже близко нет правильного ответа,правильный ответ для 1 это 0.666, а выдаёт ответ больше 1
Что-то ты напутал!
Я проверил -вот результат:
C:\WINNT\SYSTEM32\DRIVERS\HASPDOS.SYSC:\WINNT\SYSTEM32\DRIVERS\HASPDOS.SYSTurbo
Pascal Version 7.0 Copyright © 1983,92 Borland International
n = 1 result = 0.6667
n = 10 result = 0.4997
n = 10 result = 0.4997
n = 1 result = 0.6667
все сходится.
Может ты не мой код запускал?