135 lines
2.1 KiB
C++
135 lines
2.1 KiB
C++
#include <iostream>
|
|
#include <cmath>
|
|
using namespace std;
|
|
#pragma once
|
|
|
|
namespace task1 {
|
|
|
|
int F(int num); //ñ÷èòàåò ôàêòîðèàë ÷èñëà
|
|
int a(int* m, int size);
|
|
int b(int* m, int size);
|
|
int v(int* m, int size);
|
|
int g(int* m, int size);
|
|
int d(int* m, int size);
|
|
int e(int* m, int size);
|
|
|
|
int init()
|
|
{
|
|
cout << "TASK #1" << endl;
|
|
setlocale(LC_ALL, "Russian");
|
|
int n;
|
|
cout << "Ââåäèòå ðàçìåð: "; cin >> n;
|
|
|
|
int* m = new int[n];
|
|
cout << "Ââåäèòå ÷èñëà: " << endl;
|
|
for (int i = 0; i < n; i++) { cin >> m[i]; }
|
|
|
|
cout << "à) " << a(m, n) << endl;
|
|
cout << "á) " << b(m, n) << endl;
|
|
cout << "â) " << v(m, n) << endl;
|
|
cout << "ã) " << g(m, n) << endl;
|
|
cout << "ä) " << d(m, n) << endl;
|
|
cout << "å) " << e(m, n) << endl;
|
|
|
|
delete[] m;
|
|
return 0;
|
|
}
|
|
|
|
int F(int num)
|
|
{
|
|
int n = 1;
|
|
for (int i = 1; i <= num; i++)
|
|
{
|
|
n *= i;
|
|
}
|
|
return n;
|
|
}
|
|
|
|
int a(int* m, int size)
|
|
{
|
|
int n = 0;
|
|
for (int i = 0; i < size; i++)
|
|
{
|
|
int num = m[i];
|
|
if (num % 2 != 0)
|
|
{
|
|
n++;
|
|
}
|
|
}
|
|
return n;
|
|
}
|
|
|
|
int b(int* m, int size)
|
|
{
|
|
int n = 0;
|
|
for (int i = 0; i < size; i++)
|
|
{
|
|
int num = m[i];
|
|
int sqrt_num = sqrt(num);
|
|
|
|
if ((sqrt_num * sqrt_num) == num && (num % 2 == 0))
|
|
{
|
|
n++;
|
|
}
|
|
}
|
|
return n;
|
|
}
|
|
|
|
int v(int* m, int size)
|
|
{
|
|
int n = 0;
|
|
for (int i = 0; i < size; i++)
|
|
{
|
|
int num = m[i];
|
|
if (num % 3 == 0 && num % 5 != 0)
|
|
{
|
|
n++;
|
|
}
|
|
}
|
|
return n;
|
|
}
|
|
|
|
int g(int* m, int size)
|
|
{
|
|
int n = 0;
|
|
for (int i = 0; i < size; i++)
|
|
{
|
|
int k = i + 1;
|
|
int num = m[i];
|
|
if ((pow(2, k) < num) && (num < F(k)))
|
|
{
|
|
n++;
|
|
}
|
|
}
|
|
return n;
|
|
}
|
|
|
|
int d(int* m, int size)
|
|
{
|
|
int n = 0;
|
|
for (int i = 0; i < size; i++)
|
|
{
|
|
int k = i + 1;
|
|
int num = m[i];
|
|
if (i - 1 >= 0 && i + 1 < size && num < ((m[i - 1] + m[i + 1]) / 2))
|
|
{
|
|
n++;
|
|
}
|
|
}
|
|
return n;
|
|
}
|
|
|
|
int e(int* m, int size)
|
|
{
|
|
int n = 0;
|
|
for (int i = 0; i < size; i++)
|
|
{
|
|
int num = m[i];
|
|
if (i % 2 == 0 && num % 2 != 0)
|
|
{
|
|
n++;
|
|
}
|
|
}
|
|
return n;
|
|
}
|
|
} |