Created
January 17, 2014 20:11
-
-
Save selevit/8480542 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#include <cmath> | |
#include <cstdlib> | |
using namespace std; | |
// Проверяет, четное ли число | |
bool is_even(int num) | |
{ | |
return num % 2 == 0; | |
} | |
int main(int argc, char* argv[]) | |
{ | |
// количество первых членов последовательности | |
int n; | |
// Ввод количества членов последовательности | |
cout << "Enter length of sequence: "; | |
cin >> n; | |
if (n <= 3) { | |
// Число должно быть больше трех (3 первых члена уже | |
// заданы в условии) | |
cerr << "Number must be greater then 3" << endl; | |
exit(1); | |
} | |
// Выделение памяти для хранения членов последовательности | |
float *seq = new float[n]; | |
// Заполнение последовательности начальными данными | |
seq[0] = 1.0; | |
seq[1] = 0.0; | |
seq[2] = 2.0; | |
// Вычисление последовательности | |
for (int i = 3, k = 4; i < n; i++, k++) { | |
seq[i] = pow((1.0 / k) * seq[i-3], 3) + pow(seq[i - 3], 2); | |
} | |
// Количество членов с нечетной целой частью | |
int result = 0; | |
// Нахождение количество нечетных членов | |
// (с самого начала последовательности) | |
for (int i = 0; i < n; i++) { | |
if (!is_even(fabs(seq[i]))) { | |
result++; | |
} | |
} | |
// Освобождение выделенной памяти | |
delete [] seq; | |
cout << result << endl; | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment