Вычислить сумму 1/sin1+1/(sin1+sin2)+…1/(sin1+…+sinn), где n — заданное натуральное число.
Не сложная задача, решение которой неоднозначно, можно использовать различные операторы и структуры кода. конечно же без цикла тут не обойтись. Результат работы программы показан ниже:
// 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;
}
Пример работы программы:
CppStudio.com
Введите n: 10 Сумма = 104.203
Комментарии
odto11
#include <iostream> #include <cmath> using namespace std; int main() { int n = 0; double sum = 0; double sumsum = 0; const double Pi = 3.1415; cout << "\tСумма 1/sin(1) + 1/(sin(1) + sin(2)) + … + 1/(sin(1)+sin(2)+…+sin(n))\n"; cout << "Введите n: "; cin >> n; for(int i = 1; i <= n; i++) { sum += sin((i)*(Pi/180)); sumsum += 1/sum; } cout << "Сумма:" << sumsum << endl; return 0; }colt
#include "stdafx.h" #include "iostream" #include "windows.h" #include "cmath" using namespace std; #define PI 3.14 int intNumb; double dSumm, dInvSumm; int _tmain(int argc, _TCHAR* argv[]) { SetConsoleCP(1251); SetConsoleOutputCP(1251); cout.flags(ios::fixed); cout.precision(3); while(true) { system("CLS"); cout<<"Введите n: "; cin>>intNumb; dSumm=0; dInvSumm=0; for (int i=1;i<=intNumb;i++) { dSumm+=sin(static_cast<double>(i)*PI/180.0); dInvSumm+=1.0/dSumm; } cout<<"Сумма = "<<dInvSumm<<"\n"; system("PAUSE"); } return 0; }gro
#include <iostream> #include <cmath> #define PI 3.14159265358979323846 using namespace std; double sum(int n) { double sumofsin = 0, sumofdiv = 0; int numofsins = 0; for (int i=1; i<=n; i++) { while (numofsins<=i) { sumofsin = sumofsin + sin(numofsins*PI/180); numofsins++; } sumofdiv = sumofdiv + 1/sumofsin; } return sumofdiv; } int main() { setlocale(LC_ALL,"rus"); int n=0; while (n<1 || n>100000) { cin.clear(); _flushall(); cout << "Введите n для 1/sin(1) + 1/(sin(1)+sin(2)) + ... + 1/(sin(1) + ... + sin(n)): \nn = "; cin >> n; } cout << "Сумма = " << sum(n) << endl; }Migizi
#include <conio.h>
#include <iostream>
#include <istream>
#define _USE_MATH_DEFINES
#include <math.h>
using namespace std;
int main(void)
{
setlocale(LC_ALL, «Russian»);
int y;
cin >> y;
double x = 0;
double u = 0;
for (int i = 1; i <= y; i++)
{
u = 0;
for (int j = 1; j <= i; j++)
{
u += sin(j*M_PI / 180);
}
x += 1/u;
}
cout << x;
_getch();
return 0;
}