Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 12.06.2014
Сообщений: 10
1

Найти сумму ряда, общий член которого задан формулой

12.06.2014, 16:09. Показов 2793. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Помогите,пожалуйста, написать программу.
Задание звучит так:"Найти сумму ряда, общий член которого задан формулой a_n=(-1)^(n-1)/n^n".язык си.
пока что у меня получилось только это
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
main()
{
    int n=1,k;
 float s=0,a;
do
 {
   for(k=1;k=n;k++)
    {
      a=pow((-1),(n-1))/pow(n,k);
       s+=a;
       n++;
       printf("\ns=%f",s);
    } 
 }
while(a>0);
system("PAUSE");
return 0;
}
можно ли как-то обойтись без функции pow?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.06.2014, 16:09
Ответы с готовыми решениями:

Найти сумму ряда с точностью Е, общий член которого задан формулой
Дан числовой ряд и малая величина Е. найти сумму ряда с точностью Е, общий член которого задан...

Найти сумму ряда с точностью ε, общий член которого задан формулой
Доброго времени суток, никак не могу справиться с данной задачей: Дан числовой ряд и малая...

Найти сумму ряда с точностью ε, общий член которого задан формулой
Решить задачу, используя цикл с постусловием (для нечетных вариантов) и цикл с предусловием (для...

Найти сумму ряда с заданной точностью, общий член которого задан формулой
Здравствуйте. Читаю самоучитель, в процессе появились задачи, которые я так и не смог написать....

17
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
12.06.2014, 16:31 2
Цитата Сообщение от I-330 Посмотреть сообщение
можно ли как-то обойтись без функции pow?
-1^(n-1) можно вычислить без функции pow, а вот с n^n боюсь так не получится.
0
0 / 0 / 0
Регистрация: 12.06.2014
Сообщений: 10
12.06.2014, 16:34  [ТС] 3
тогда что мне делать с n^n? в этом-то и вся проблема.
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
12.06.2014, 16:42 4
Цитата Сообщение от I-330 Посмотреть сообщение
вся проблема
а что за проблема?
если нельзя использовать math.h, то может свою функцию написать?
0
0 / 0 / 0
Регистрация: 12.06.2014
Сообщений: 10
12.06.2014, 16:53  [ТС] 5
вот у меня как раз и не получается ее написать. можно ведь это делать как-то при помощи цикла? умножать число на само себя?
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
12.06.2014, 17:00 6
C
1
2
3
4
5
6
7
8
9
double pow(int n, int k) {
    double res = 1.0;
    if (k) {
             do {
             res *= n;
             } while (--k)
         }
    return res;
}
0
0 / 0 / 0
Регистрация: 12.06.2014
Сообщений: 10
12.06.2014, 17:08  [ТС] 7
Спасибо) только вот не понимаю,почему нельзя использоваь pow?
это ведь из-за него программа работает некорректно?или дело в чем-то другом?
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
12.06.2014, 17:30 8
Цитата Сообщение от I-330 Посмотреть сообщение
или дело в чем-то другом?
проблема в этом:
Цитата Сообщение от I-330 Посмотреть сообщение
for(k=1;k=n;k++)
во-первых n нигде не определена
во-вторых k == n

Добавлено через 6 минут
Цитата Сообщение от Jewbacabra Посмотреть сообщение
во-первых n нигде не определена
извиняюсь, не увидел.
Цитата Сообщение от I-330 Посмотреть сообщение
int n=1
но в этом случае будет вычислен всего один член ряда
0
0 / 0 / 0
Регистрация: 12.06.2014
Сообщений: 10
12.06.2014, 17:32  [ТС] 9
если я обьявляю n всередине цикла,ничего не меняется
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
12.06.2014, 17:38 10
I-330, зачем объявлять в середине цикла?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <math.h>
#include <stdio.h>
 
#define EPS 1.0e-9
 
int main() {
    int n = 1;
    double a_n = 1.0;
    double sum = a_n;
    while (abs(a_n) > EPS) {
        ++n;
        a_n = pow(-1.0, n - 1) / pow((double)n, (double)n);
        sum += a_n;
    }
    printf("sum=%lf", sum);
}
0
0 / 0 / 0
Регистрация: 12.06.2014
Сообщений: 10
12.06.2014, 17:46  [ТС] 11
у меня получалось нечто подобное,но сумма выходит 0,75,как и в вашей программе. должна получиться 0,78. с этим "циклом" 0,78 получается,но результат выбивается бесконечно.
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
12.06.2014, 17:49 12
у меня получается 0.783431
Цитата Сообщение от I-330 Посмотреть сообщение
результат выбивается бесконечно
не понял
0
0 / 0 / 0
Регистрация: 12.06.2014
Сообщений: 10
12.06.2014, 18:12  [ТС] 13
ээ..теперь и мне не понятно.выходит,что при запуске одной и той же программы у нас получаются разные ответы. может,я что-то делаю не так?
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
12.06.2014, 18:49 14
I-330, какой компилятор? и код точно совпадает с тем что я привел, или есть изменения?
0
71 / 45 / 24
Регистрация: 11.05.2014
Сообщений: 179
12.06.2014, 19:32 15
Цитата Сообщение от I-330 Посмотреть сообщение
но сумма выходит 0,75
Все-таки степени получаются большие, лучше использовать double.
0
0 / 0 / 0
Регистрация: 12.06.2014
Сообщений: 10
12.06.2014, 20:03  [ТС] 16
devc++, совпадает точно,просто скопипастила
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
12.06.2014, 21:01 17
I-330, проблема в функции abs. Используй вместо нее fabs
1
0 / 0 / 0
Регистрация: 12.06.2014
Сообщений: 10
17.06.2014, 18:42  [ТС] 18
Спасибо Вам огромное.
0
17.06.2014, 18:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.06.2014, 18:42
Помогаю со студенческими работами здесь

Найти сумму ряда с точностью ε, общий член которого задан формулой
Дан числовой ряд и малая величина ε. Найти сумму ряда с точностью ε, общий член которого задан...

Найти сумму ряда, общий член которого задан формулой, с точностью ε
Найти сумму ряда, общий член которого задан формулой, с точностью ε (10-4)

Цикл: Найти сумму ряда с точностью ε, общий член которого задан формулой
Дан числовой ряд и малая величина ε. Найти сумму ряда с точностью ε, общий член которого задан...

Вычислить сумму ряда, общий член которого задан формулой An=(xn)/n!
Не понимаю, помогите, нужно в С++


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

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