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

Вычисление двойной суммы

20.12.2017, 12:52. Показов 1752. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
не могу решить :
Дано натуральное число n, вычислить:

https://www.cyberforum.ru/cgi-bin/latex.cgi?\sum^{n}_{i=1} \sum^{i}_{j=1} {\frac{i}{i+2j}}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2017, 12:52
Ответы с готовыми решениями:

Вычисление двойной суммы
Помогите пожалуйста с решением

Вычисление двойной суммы
Всем привет, помогите решить задачу по паскалю. Нужно вычислить внутреннюю сумму, внешнюю 1..3...

Вложенные циклы. Вычисление двойной суммы.
#include<stdlib.h> #include<stdio.h> #include<math.h> long factor(int k) {long res;...

Нахождение двойной суммы
Не прошу написать код за себя, скорее проконсультироваться. Тема пока не знакомая, и особо нет...

11
0 / 0 / 0
Регистрация: 09.12.2017
Сообщений: 38
20.12.2017, 13:28  [ТС] 2
Не могу написать цикл, происходит либо зацикливание либо результат =0.

Дано натуральное число n. Вычислить:
https://www.cyberforum.ru/cgi-bin/latex.cgi?\sum^{n}_{i=1} \sum^{i}_{j=1} {\frac{i}{i+2j}}
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
20.12.2017, 13:37 3
C
1
2
3
4
5
6
7
S = 0;
for(i=1; i<n; i++) {
  sv = 0;
  for(i=1; j<=i; j++)
    sv += (double)i/(1+2*j);
  S += sv;
}
Псевдокод
0
2277 / 1768 / 741
Регистрация: 27.07.2012
Сообщений: 5,251
20.12.2017, 13:43 4
Цитата Сообщение от artem artem Посмотреть сообщение
либо результат =0
i и j должны быть типа int, но тогда i / (i + 2 * j) даст 0, так как тип результата определяется по числителю. Нужно явное приведение типа:
C++
1
2
3
4
5
6
double sum = 0.0;
for (int i = 1; i <= n; ++i)
{
        for (int j = 1; j <= i; ++j)
            sum += static_cast<double>(i) / (i + 2 * j);
}
1
75 / 26 / 22
Регистрация: 22.06.2013
Сообщений: 127
20.12.2017, 13:51 5
C++
1
2
3
4
double S = 0;
    for (double i = 1; i <= n; ++i)
        for (double j = 1; j <= i; ++j)
            S += i/(i+2.*j);
0
0 / 0 / 0
Регистрация: 09.12.2017
Сообщений: 38
20.12.2017, 13:57  [ТС] 6
John Prick, plapteshk, спасибо, код работает, но я все равно не понял, почему если тип числителя int - то результат 0.
0
2277 / 1768 / 741
Регистрация: 27.07.2012
Сообщений: 5,251
20.12.2017, 14:01 7
Цитата Сообщение от artem artem Посмотреть сообщение
почему если тип числителя int - то результат 0.
Если тип числителя int, то и тип результата int. Тогда (например для i = 3, j = 1): i / (i + 2j) = 3 / (3 + 2) = 3 / 5 = 0.6. Но int не может быть равен 0.6, дробная часть срезается и получается 0.
0
0 / 0 / 0
Регистрация: 09.12.2017
Сообщений: 38
20.12.2017, 14:02  [ТС] 8
John Prick, все, я понял, спасибо.
0
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
20.12.2017, 19:26 9
Цитата Сообщение от John Prick Посмотреть сообщение
Если тип числителя int, то и тип результата int
Справедливости ради, тип знаменателя тоже имеет значение. Деление будет целочисленным, только если оба этажа дроби - целые.

Добавлено через 36 секунд
И кстати, static_cast - это из С++, в языке Си его нет.
0
2277 / 1768 / 741
Регистрация: 27.07.2012
Сообщений: 5,251
20.12.2017, 23:36 10
likehood, если первое замечание ещё вполне уместно, то второе:
Цитата Сообщение от likehood Посмотреть сообщение
И кстати, static_cast - это из С++, в языке Си его нет.
явно говорит о том, что на название форума вы так и не обратили внимания.
0
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
20.12.2017, 23:54 11
Цитата Сообщение от John Prick Посмотреть сообщение
на название форума вы так и не обратили внимания
Отнюдь. Специально проверил, что это раздел С, а не не С++.
0
2277 / 1768 / 741
Регистрация: 27.07.2012
Сообщений: 5,251
21.12.2017, 00:00 12
likehood, ясно. Тема была создана в С++, кто-то зачем-то решил переименовать и перенести. Извиняйте.
0
21.12.2017, 00:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.12.2017, 00:00
Помогаю со студенческими работами здесь

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

Вычислить значение двойной суммы
Вычислите S=%20\sum_{i=1}^{n}\sum_{j=i+1}^{n+1}\frac{{x}^{i}+{y}^{i}}{{(y+1)}^{j}}{e}^{jy}

Ищу пример вычисления двойной суммы
Нужен пример вычисления двойной суммы. заранее спасибо

Составить программу вычисления двойной суммы
Условие: http://s42.***********/i097/1102/d8/00938bf5f370.jpg Запись этого условия на паскале я...


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

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