Сумма 1/sin(1) + 1/(sin(1) + sin(2)) + … + 1/(sin(1)+sin(2)+…+sin(n))
Вычислить сумму 1/sin1+1/(sin1+sin2)+…1/(sin1+…+sinn), где n - заданное натуральное число.
Не сложная задача, решение которой неоднозначно, можно использовать различные операторы и структуры кода. конечно же без цикла тут не обойтись. Результат работы программы показан на рисунке 1.
Введите n: 10
Сумма = 2.83492
// sum_sin.cpp: определяет точку входа для консольного приложения.
#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
double sumSin(int); //прототип функции суммирования синусов по формуле
int main(int argc, char* argv[])
{
int n; // энный член выражения
double sum = 0; // сумма
setlocale(LC_ALL, "rus");
cout << "Введите n: ";
cin >> n;
for (int counter = 1; counter <= n; counter++)
{
sum += 1 / sumSin(counter); // вычисляем сумму согласно выражению
}
cout << "Сумма = " << sum << endl;
system("pause");
return 0;
}
double sumSin(int n) // функция суммирования синусов согласно формуле
{
double p = M_PI;
double temp_sum = 0; // временная переменная для хранения суммы
for (int counter = 1; counter <= n; counter++)
temp_sum += sin((double)counter*p/180); // накапливаем сумму синусов
return temp_sum;
}
Комментарии:
Нету комментариев для вывода...