Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.82
@Helen@
0 / 0 / 1
Регистрация: 27.11.2010
Сообщений: 13
#1

Найти сумму ряда - C (СИ)

26.01.2011, 13:05. Просмотров 2337. Ответов 7
Метки нет (Все метки)

1*2+2*3*4+...+n*...*2n
Помогите новичку, не могу понять
http://www.cyberforum.ru/c-beginners/thread969017.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.01.2011, 13:05
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Найти сумму ряда (C (СИ)):

Найти сумму ряда
составить программы с использованием трех операторов циклической структуры -...

Найти сумму ряда
Задана функция и ее разложение в ряд или произведение. Численно убедиться в...

Найти сумму ряда
Помогите решить.... Дано целое число N (>0). ...

Найти сумму ряда
Добрый день, у меня получилась вот такая программа, но она работает...

Найти сумму ряда
в чём ошибка ??? помогите мне плиз! #include<stdio.h> #include<conio.h>...

7
solar_wind
760 / 751 / 58
Регистрация: 06.07.2009
Сообщений: 2,988
Завершенные тесты: 1
26.01.2011, 13:34 #2
А что конкретно непонятно?
Делаешь цикл от 0 до n , и вложенный цикл от i до i*2 и суммируешь....
0
valeriikozlov
Эксперт С++
4683 / 2509 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
26.01.2011, 13:38 #3
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
 
int main ()
{
    int n, i, sum=0, temp=1;
    printf("n= ");
    scanf("%d", &n);
    for(i=1; i<=n; i++)
    {
        if(i!=1)
        temp/=i-1;
        temp*=2*i*(2*i-1);
        sum+=temp;
    }
    printf("%d\n", sum);       
    return 0; 
}
1
@Helen@
0 / 0 / 1
Регистрация: 27.11.2010
Сообщений: 13
26.01.2011, 15:27  [ТС] #4
Цитата Сообщение от valeriikozlov Посмотреть сообщение
temp/=i-1; temp*=2*i*(2*i-1);
Можно, прокомментировать эти две строчки?
0
valeriikozlov
Эксперт С++
4683 / 2509 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
26.01.2011, 15:41 #5
Можно, прокомментировать эти две строчки?
конечно можно:
temp/=i-1;// это тоже самое что и temp=temp/(i-1);

temp*=2*i*(2*i-1);// это тоже самое что и temp=temp*2*i*(2*i-1);
Или Вам саму идею написания этих строк нужно?
0
@Helen@
0 / 0 / 1
Регистрация: 27.11.2010
Сообщений: 13
26.01.2011, 15:56  [ТС] #6
Цитата Сообщение от valeriikozlov Посмотреть сообщение
конечно можно:
temp/=i-1;// это тоже самое что и temp=temp/(i-1);
temp*=2*i*(2*i-1);// это тоже самое что и temp=temp*2*i*(2*i-1);
Или Вам саму идею написания этих строк нужно?
Нет, это понятно) Мне бы идею, ход мыслей.
0
valeriikozlov
Эксперт С++
4683 / 2509 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
26.01.2011, 16:00 #7
Идея такая:
Каждое очередное слагаемое можно получить из предыдущего так:
предыдущее слагаемое делим на i-1 и умножаем на два числа на 2*i-1 и на 2*i
1
easybudda
Модератор
Эксперт CЭксперт С++
10021 / 5944 / 1483
Регистрация: 25.07.2009
Сообщений: 11,230
26.01.2011, 16:58 #8
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Немного по-другому
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <stdint.h>
 
uint64_t bigP(uint64_t num){
    uint64_t i, res;
    for ( res = num, i = 1; i <= num; ++i )
        res *= num + i;
    return res;
}
 
int main(void){
    uint64_t n, sum, i;
    
    printf("N = ");
    scanf("%llu", &n);
    
    for ( sum = 0, i = 1; i <= n; ++i )
        sum += bigP(i);
    
    printf("SUM = %llu\n", sum);
    
    return 0;
}
Считает сумму 20 элементов, но ANSI C 99
1
26.01.2011, 16:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.01.2011, 16:58
Привет! Вот еще темы с решениями:

Найти сумму ряда
Всем привет))))) не очень шарю в программировании, ну да ладно. Суть ЗАДАЧА...

Найти сумму ряда
Подскажите, пожалуйста, где я допустил ошибку? Должна выводиться сумма ряда...

Найти сумму ряда
Дано натуральное число n. Вычислить 1¹+2²+3³...n*n помагите с

Найти сумму ряда
Помогите написать сам цикл под буквой в


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

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

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