Автор |
Сообщение |
Joodleap
[0.1]
|
0
C++ задача
Всем привет. Может кто помочь нарисовать блок-схему алгоритма для данной задачи? -Дан числовой ряд и некоторое число эпсилон. Найти сумму тех членов ряда, модуль которых больше эпсилон. общий член ряда имеет вид: a(n)=n!/(2n)! Буду благодарен, если напишите код на с++. Заранее спасибо!
|
09 ноя 2011, 17:03 |
|
|
Desst
[0.6]
|
0
C++ задача
один for с if`ом в чем трабла то?
|
09 ноя 2011, 17:06 |
|
|
Joodleap
[0.1]
|
0
C++ задача
Desst писал(а): один for с if`ом в чем трабла то?
трабла именно в том, что возникает проблема с 2мя факториалами и записью их в блок схеме.
|
09 ноя 2011, 17:08 |
|
|
Desst
[0.6]
|
0
C++ задача
ну напиши отдельно функцию, которая факториал будет брать от инта
|
09 ноя 2011, 17:11 |
|
|
Joodleap
[0.1]
|
0
C++ задача
Desst писал(а): ну напиши отдельно функцию, которая факториал будет брать от инта
Нужно сделать в именно в одной) препод так требует. Можешь написать код для вычисления (2n)!? Остальное я сам сделаю.
|
09 ноя 2011, 17:13 |
|
|
Desst
[0.6]
|
0
C++ задача
Joodleap писал(а): Desst писал(а): ну напиши отдельно функцию, которая факториал будет брать от инта
Нужно сделать в именно в одной) препод так требует. Можешь написать код для вычисления (2n)!? Остальное я сам сделаю. ты цикл for что-ли не можешь написать?? кстати там возможно не "(2n)!" , а "(2n)!!" проверь, если нет, то в общем члене ряда можно кусок факториал сократить. ну, а то что препод требует писать все в одной функции, это конечно лол...
|
09 ноя 2011, 17:48 |
|
|
Boo
|
0
C++ задача
Элементраная задачка на рекурсию :) Чтобы высчитать a(n)=n!/(2n)!, как верно заметил Desst, можно сократить расчет и по сути задачка сводится к расчету "Факториала с нижней границей" то есть произведение чисел от n+1 до 2n. чото типа такого :
Функция Факториал_С_Нижней_Границей(НижняяГраница, Число)
Если Число = НижняяГраница Тогда Возвращаем Число Иначе Возвращаем Число * Факториал_С_Нижней_Границей(НижняяГраница, Число - 1)
Конец функции
А в теле проги в цикле вызываем нашу функцию примерно так
a(n) = Факториал_С_Нижней_Границей(n+1, 2n)
|
09 ноя 2011, 17:53 |
|
|
Joodleap
[0.1]
|
0
C++ задача
Desst писал(а): Joodleap писал(а): Desst писал(а): ну напиши отдельно функцию, которая факториал будет брать от инта
Нужно сделать в именно в одной) препод так требует. Можешь написать код для вычисления (2n)!? Остальное я сам сделаю. ты цикл for что-ли не можешь написать?? кстати там возможно не "(2n)!" , а "(2n)!!" проверь, если нет, то в общем члене ряда можно кусок факториал сократить. ну, а то что препод требует писать все в одной функции, это конечно лол... нет, там именно (2n)!. Я нарисовал преподу блок схему с 3мя циклами, while (для вычисления суммы) и 2 for для факториалов, но она мне сказала, что общий член ряда можно с помощью каких то рекурентных выражений преобразовать чтобы получился 1 цикл, наверное, именно в этом трабла), а так же вопрос: Когда лучше сделать определение переменной общего члена ряда? После вычисления факториалов и до цикла которые будет вычислять сумму? Добавлено спустя 44 секунды:Boo писал(а): Элементраная задачка на рекурсию :)
Помоги, пожалуйста. Мне достаточно блок схемы, код сам напишу. Ну или наоборот.
|
09 ноя 2011, 17:57 |
|
|
Desst
[0.6]
|
0
C++ задача
факториал считается рекурсивно #369 но тебе же нельзя делать отдельные функции, поэтому твой выбор это цикл)
|
09 ноя 2011, 18:01 |
|
|
Дождь
[0.1]
|
0
C++ задача
А есть девушки, которые дружат с математикой?
|
09 ноя 2011, 18:03 |
|
|
Desst
[0.6]
|
0
C++ задача
Дождь писал(а): А есть девушки, которые дружат с математикой?
говорят, что есть
|
09 ноя 2011, 18:04 |
|
|
Joodleap
[0.1]
|
0
C++ задача
у меня из n!/(2n)! получилось 1/8n-4 это эпик фэйл или же нет?)
|
09 ноя 2011, 18:08 |
|
|
Desst
[0.6]
|
0
C++ задача
ты не знаешь что такое факториал? тогда я могу помочь только фейспалмом
|
09 ноя 2011, 18:11 |
|
|
Joodleap
[0.1]
|
0
C++ задача
Desst писал(а): ты не знаешь что такое факториал? тогда я могу помочь только фейспалмом
Я знаю, что такое факториал, я расписал нижний факториал и верхний факториал, сократил, видимо не правильно.
|
09 ноя 2011, 18:13 |
|
|
Problem
|
0
C++ задача
спроси у нинтенды она шарит говорят))
|
09 ноя 2011, 18:29 |
|
|
blacksoul
|
0
C++ задача
s=0; обнулим сумму a=1/2; посчитали a[1] for(i=1;i<=n;i++) { a=(a*i) / ((2*i-1)*(2*i)); следующий a[i]
if( fabs(a) > E) E-эпсилон s+=a; наростили S на член ряда, если он хороший
} выводи S/делай с ним че хош
и не считаем никаких факториалов вообще => и переполнение не грозит
|
09 ноя 2011, 18:39 |
|
|
Joodleap
[0.1]
|
0
C++ задача
blacksoul писал(а): s=0; обнулим сумму a=1/2; посчитали a[1] for(i=1;i<=n;i++) { a=(a*i) / ((2*i-1)*(2*i)); следующий a[i]
if( fabs(a) > E) E-эпсилон s+=a; наростили S на член ряда, если он хороший
} выводи S/делай с ним че хош
и не считаем никаких факториалов вообще => и переполнение не грозит
спасибо огромное, теперь я понял.
|
09 ноя 2011, 18:43 |
|
|
Desst
[0.6]
|
0
C++ задача
Joodleap писал(а): blacksoul писал(а): s=0; обнулим сумму a=1/2; посчитали a[1] for(i=1;i<=n;i++) { a=(a*i) / ((2*i-1)*(2*i)); следующий a[i]
if( fabs(a) > E) E-эпсилон s+=a; наростили S на член ряда, если он хороший
} выводи S/делай с ним че хош
и не считаем никаких факториалов вообще => и переполнение не грозит
спасибо огромное, теперь я понял. в этом коде инициализировать a надо единичкой, а a[1] посчитается на первой итерации
|
09 ноя 2011, 19:04 |
|
|
Joodleap
[0.1]
|
0
C++ задача
void main() { double a, S, eps; int n; coutcin>>eps; S = 0; a = 0.5; n = 1; while(fabs(a) >= eps){ S += a; n++; a=(a*n) / ((2*n-1)*(2*n)); cout<} cout} Закончил
|
09 ноя 2011, 20:15 |
|
|
FlashFire
[1.1]
<Адский Кипиш>
Сервер: Свежеватель Душ
Рейтинг поля боя: 956
2х2: 2013
3х3: 1821
5х5: 1947
|
0
C++ задача
Boo писал(а): Функция Факториал_С_Нижней_Границей(НижняяГраница, Число)
Если Число = НижняяГраница Тогда Возвращаем Число Иначе Возвращаем Число * Факториал_С_Нижней_Границей(НижняяГраница, Число - 1)
Конец функции
Ты случаем не 1C-программист? У этих бабуинов патологическая тяга к кириллическому коду.
|
09 ноя 2011, 21:39 |
|