Посчитать сумму. С++, большие числа.
Помогите пожалуйста
- Т.е. в каких пределах изменяется k от Stopilok Ellanajal, 29 октября 2014 года
- Что такое k? И как оно изменяется? от Stopilok Ellanajal, 29 октября 2014 года
Код:
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;
//---------------------------
int factorial (int k) {
int result = 1;
for (;k>0;--k)
result *= k;
return result;
}
//---------------------------
int main (int argc, char *argv[]) {
int k;
double S = 0.0, x;
cout << "Input k, 0 < k < 9\nk = ";
cin >> k;
if(k > 8) cout << "k is too much\n";
else
if(k < 1) cout << "k is too low\n";
else {
cout << "Input x\nx = ";
cin >> x;
//-----
for(int i=1;i<=k;i++)
S += pow(x,(double)(4*i)/(double)factorial(4*i-1));
//-----
cout << "S = " << S << "\n";
//-----
}
system("PAUSE");
return EXIT_SUCCESS;
}
#include <iostream>
#include <math.h>
using namespace std;
//---------------------------
int factorial (int k) {
int result = 1;
for (;k>0;--k)
result *= k;
return result;
}
//---------------------------
int main (int argc, char *argv[]) {
int k;
double S = 0.0, x;
cout << "Input k, 0 < k < 9\nk = ";
cin >> k;
if(k > 8) cout << "k is too much\n";
else
if(k < 1) cout << "k is too low\n";
else {
cout << "Input x\nx = ";
cin >> x;
//-----
for(int i=1;i<=k;i++)
S += pow(x,(double)(4*i)/(double)factorial(4*i-1));
//-----
cout << "S = " << S << "\n";
//-----
}
system("PAUSE");
return EXIT_SUCCESS;
}
и здесь вот так правильнее, у степени приоритет выше
Код:
for(int i=1;i<=k;i++)
S += pow(x,(double)(4*i))/(double)factorial(4*i-1);
S += pow(x,(double)(4*i))/(double)factorial(4*i-1);
С исправлением согласен. Почему то, подумал, что факториал в ходит в показатель степени, но формально Вы правы.
Цитата: Meander
Каков вопрос, таков и ответ, а без пояснений можно бесконечно гадать, что ТС имел ввиду..
Я без претензий :) Вы и так уже сделали ТС большой подарок.