Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 5.00
marik2012
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
#1

Ряды в С++ - C++

05.05.2012, 18:45. Просмотров 3059. Ответов 25
Метки нет (Все метки)

Найти сумму ряда с точностью E=10^-4, общий член которого An=(n!)/3(n^n)
Оригинал
Знайти суму ряду з точністю E=10^-4, загальний член якого An=(n!)/3(n^n)


Добавлено через 14 минут
вот формула http://www.cyberforum.ru/cgi-bin/latex.cgi?n!\div 3{n}^{n}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2012, 18:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ряды в С++ (C++):

Ряды - C++
Помогите с рядами , новичок в с++.

Ряды - C++
Помогите пожалуйста написать программу. Напишите программу, которая выводит на экран сообщение в "телеграфном" стиле: буквы сообщения...

ряды - C++
дано натуральное число n. Вычислить P=(1-1/2)*(1-1/4)*(1-1/6)...(1-1/2*n)

Ряды - C++
Для заданного ряда необходимо: 1) Найти сумму S1 для n первых элементов ряда (с использованием оператора FOR); 2) Найти сумму S2...

ряды - C++
помогите плиз. нужно создать ряд s=1+1/4+1/9+1/25... по какой формуле это можно сделать?

ряды - C++
помогите плиз, как создать ряд из чисел кратных 7 ?

25
zss
Модератор
Эксперт С++
6537 / 6099 / 2009
Регистрация: 18.12.2011
Сообщений: 15,867
Завершенные тесты: 1
05.05.2012, 19:11 #2
Что-то я не могу найти красивого рекуррентного соотношения A(n+1)=f(An),
т.к. (n+1)^(n+1) надо раскрывать через бином Ньютона.
Предлагаю такой вариант (конечно не оптимальный):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int pown(int n)
{
    int t=1;
    for(int i=1;i<=n;i++)
       t*=n;
    return t;
}
 
double sum(double eps)
{
    double an,s;
    int n;
    an=1./3.;
    s=an;
    n=2;
    while(an>eps)
    {
        an=an*n*pown(n-1)/pown(n);
        s+=an;
        n++;
    }
    return s;
}
1
marik2012
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
05.05.2012, 19:22  [ТС] #3
Желательно через while бы
0
zss
Модератор
Эксперт С++
6537 / 6099 / 2009
Регистрация: 18.12.2011
Сообщений: 15,867
Завершенные тесты: 1
05.05.2012, 19:28 #4
А я Вам через что сделал (16 строка)?
0
gGrn-7DA
мну довольно <(-__-)l
203 / 192 / 1
Регистрация: 17.01.2010
Сообщений: 2,392
Завершенные тесты: 1
05.05.2012, 20:04 #5
(n+1)^(n+1)/n^n в пределе имеет e*(n+1).
http://ru.wikipedia.org/wiki/Замечательные_пределы
Ну и предел A(n+1)/A(n)=1/e

Но эти формулы точны только при больших n...
Для наглядности. Погрешность при n=1000 достаточно большая
http://www.google.ru/search?q=e-(1001/1000)^1000
0
marik2012
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
05.05.2012, 21:05  [ТС] #6
хотелось бы увидеть реализацию программы при маленьких n.
0
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
05.05.2012, 22:24 #7
Цитата Сообщение от marik2012 Посмотреть сообщение
хотелось бы
 Комментарий модератора 
Хотелось бы от Вас увидить здравый смысл:
1. Форум с доменом .ru по-любому только русскоязычный.
2. Тема и так находится в разделе С++. Зачем ещё и к названию лепить язык!?
Следующая ваша тема с заданием на украинском языке просто будет удалена!
0
gGrn-7DA
мну довольно <(-__-)l
203 / 192 / 1
Регистрация: 17.01.2010
Сообщений: 2,392
Завершенные тесты: 1
06.05.2012, 10:43 #8
Цитата Сообщение от marik2012 Посмотреть сообщение
реализацию программы при маленьких n.
выше пост с кодом и есть реализация.
0
marik2012
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
14.05.2012, 21:50  [ТС] #9
пишет что ошибка в 4 строке, может быть кто-то предложит другую реализацию?
0
zss
Модератор
Эксперт С++
6537 / 6099 / 2009
Регистрация: 18.12.2011
Сообщений: 15,867
Завершенные тесты: 1
14.05.2012, 22:03 #10
Цитата Сообщение от marik2012 Посмотреть сообщение
пишет что ошибка в 4 строке, может быть кто-то предложит другую реализацию?
Компилируйте компилятором С++, а не С
(если используете MS VC, то расширение файла должно быть .cpp)
0
marik2012
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
14.05.2012, 22:09  [ТС] #11
использую dev.cpp
0
gGrn-7DA
мну довольно <(-__-)l
203 / 192 / 1
Регистрация: 17.01.2010
Сообщений: 2,392
Завершенные тесты: 1
14.05.2012, 22:52 #12
замени код функции.
C
1
2
3
4
5
6
7
8
int pown(int n)
{
    int t=1;
    int i;
    for(i=1;i<=n;i++)
       t*=n;
    return t;
}
еще есть вариант с использованием флага -std=c99 при компиляции
0
marik2012
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
19.05.2012, 08:17  [ТС] #13
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <cmath>
using namespace std;
long factorial(int n);
int main()
{
double eps=1.0e-4; //точность расчета
    int n=1;
    double a;
    double s=0;
 
do
{
    a=factorial(n)/3*pow(n,n);
    s+=a;
    n++;
}while(a>=eps);
cout<<"s="<<s<<endl;
 
    return 0;
}
 
long factorial(int n)
{
    long f=1;
    for(int i=1; i<=n;i++)
        f*=i;
    return f;
}
подскажите правильно ли написал, если нет то исправьте ошибки.

Добавлено через 7 часов 1 минуту
но мне что-то не нравиться то что выводит на екран.
0
zss
Модератор
Эксперт С++
6537 / 6099 / 2009
Регистрация: 18.12.2011
Сообщений: 15,867
Завершенные тесты: 1
19.05.2012, 15:26 #14
я написал рекуррентное вычисление члена ряда
a=a*n*pown(n-1)/pown(n);
чем оно Вам не понравилось?
А Ваша формула
a=factorial(n)/3*pow(n,n);
неверна (pow(n,n) - попало в числитель).
0
marik2012
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
19.05.2012, 17:06  [ТС] #15
в таком виде программа не работает.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include<iostream>
using namespace std;
 
int main()
{
int pown(int n)
 
 
{
    int t=1;
    for(int i=1;i<=n;i++)
       t*=n;
    return t;
}
 
double sum(double eps)
{
    double an,s;
    int n;
    an=1./3.;
    s=an;
    n=2;
    while(an>eps)
    {
        an=an*n*pown(n-1)/pown(n);
        s+=an;
        n++;
    }
    return s;
}
}
0
19.05.2012, 17:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2012, 17:06
Привет! Вот еще темы с ответами:

Ряды - C++
Помогите плиз с прогой,если не трудно её полный текст ∑(от n=1 до бесконечности) n/(3n-1)

ряды в С++ - C++
помогите вот прога а при нажатии ctrl+F9 и вводе любой цифры выдается мусор вот прога: #include&lt;iostream.h&gt; #include&lt;math.h&gt; ...

числовые ряды в С++ - C++
Как записать данный ряд: pi=3+4((1/2*3*4)-(1/4*5*6)+(1/6*7*8)-......) в С++?

Ряды Тейлора - C++
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от xнач. до xкон. с шагом dx...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru