Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 27.12.2009
Сообщений: 12

Вычислить произведение ряда

17.01.2010, 17:19. Показов 1231. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дано натуральное число n. Вычислить
(1+1/1^2)*(1+1/2^2)…(1+1/n^2)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
   int i;
   double n,s,d;
   cout<<"vvedite n=";
   cin>>n;
   for (i=1;i<=n;i++)
   {
      s=(1+1/(i*i));
     d=s*s;
      
      
   }
   cout<<d<<endl;
   system("PAUSE");
   return EXIT_SUCCESS;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.01.2010, 17:19
Ответы с готовыми решениями:

Вычислить произведение ряда
Написать код предварительно выразив формулу .Объясните ,как делать .

Вычислить произведение ряда
В алгоритме и программе массивов не использовать Даны значения a и n. Вычислить

Вычислить произведение ряда
вычислить и вывести на экран, x и k ввести с клавиатуры p=\prod_{i=1}^{k}\frac{sin(ix)}{2i-1}

9
эволюционирую потихоньку
 Аватар для TanT
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
17.01.2010, 17:30
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
int main(int argc, char *argv[])
{
    double n,s,d=1;
    cout<<"vvedite n=";
    cin>>n;
    for (double i=1;i<=n;i++)
    {
        s=(double)(1+1/(i*i));
        d*=s*s;
    }
    cout<<d<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}
ответ проверь
0
0 / 0 / 0
Регистрация: 27.12.2009
Сообщений: 12
17.01.2010, 17:33  [ТС]
Всё равно чё то не то
0
 Аватар для Shymep
13 / 13 / 2
Регистрация: 10.01.2010
Сообщений: 34
17.01.2010, 17:41
А зачем умножать на s^2?
C++
1
d*=s*s;
1
Day
 Аватар для Day
1180 / 990 / 83
Регистрация: 29.10.2009
Сообщений: 1,385
17.01.2010, 18:00
Лучше будет так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
int i;
double n,s,d;
cout<<"vvedite n=";
cin>>n;
d = 1;
for (i=1;i<=n;i++)
{
s=(1+1.0/(i*i));  // Именно так  1.0 !!!
d *= s;
}
cout<<d<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
0
Быдлокодер
 Аватар для Darky
512 / 298 / 85
Регистрация: 22.11.2009
Сообщений: 892
17.01.2010, 18:22
Day, И зачем 1.0 ?
0
эволюционирую потихоньку
 Аватар для TanT
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
17.01.2010, 18:42
Цитата Сообщение от Darky Посмотреть сообщение
Day, И зачем 1.0 ?
явное указание что тип double, однако, имхо i надо сразу double делать, всё равно потом преобразуется
0
Day
 Аватар для Day
1180 / 990 / 83
Регистрация: 29.10.2009
Сообщений: 1,385
17.01.2010, 19:08
Это, безусловно, дело вкуса.
Но мне кажется, что приведение типа надо делать той точке, где это актуально.
А то кто-то всколзь глянет - "чего этот придурок переменную цикла в double обрядил..."
И потом - не верю я в арифметику действительных чисел на компе
Конструкция if (i = n) при double i, int n - ох какая скользкая!
0
 Аватар для Shymep
13 / 13 / 2
Регистрация: 10.01.2010
Сообщений: 34
17.01.2010, 19:21
Day, при разработках в современных IDE, с учетом оптимизаторов кода, это уже не проблема. Понятно, что есть классы задач, на которых можно использовать свою многобайтовую. Но реальный эксперимент, проводимый еще лет 6 назад для задачи, которая действительно требовала точности знака до 7-8, показал, что Borland CBuilder6, MatLab и собственный класс выдал одинаковый ответ до 13 знака.
1
Day
 Аватар для Day
1180 / 990 / 83
Регистрация: 29.10.2009
Сообщений: 1,385
17.01.2010, 20:09
Ты совершенно прав!
Просто у меня идиосинкразия на тип float, double и прочее
Столько пришлось помучиться, чтоб совпадали суммы вычисленные по горизонтали
и вертикали!
Правдо было это в незапямятные времена языка PL/1.
Это мы сейчас думаем - ну и монстр!
А тогда это был весма прогрессивный язычище!

А целое - оно и в Африке целое (пока не пробьет разрядную сетку (MAX_INT))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.01.2010, 20:09
Помогаю со студенческими работами здесь

Вычислить произведение ряда
Дано натуральне число n. Обчислити P=(1+1/1)(1+1/2)^2 ...(1+1/n)^n , не використовуючи бібліотечних функцій. Дано натуральное число n....

Вычислить произведение ряда
х ввести с клавиатуры,k определить из условия ak=b, где a и b относится к целым четным числам (a&lt;b) и вводится с...

Вычислить произведение ряда
Дано натуральное число n.Вычислить.

Вычислить произведение ряда
#include&lt;iostream.h&gt; int main() { int n, i; float z,p; cout&lt;&lt;&quot;vvedite n&quot;; cin&gt;&gt;n; for(i=2; i&gt;n;...

Вычислить произведение ряда
Помогите написать программу вычисляющую сумму ряда.


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru