#include <iostream>
#include <cmath>
using namespace std;
void task3()
{
int number, i, n, sum, quantity = 0;
cout << "Enter number: ";
cin >> number;
for (i = 2; i < number; i++)
{
sum = 0; //обнуление суммы делителей
for (n = 1; n < i; n++)
if (i % n == 0)
sum += n;
if (sum == i)
{
quantity++;
cout << i << " " ;
}
}
cout << endl << endl;
if (quantity == 0)
cout <<"No one perfect numbers"<< endl << endl ;
}
void task38()
{
double denominator, sum = 0;
int number;
cout << "Enter natural number : ";
cin >> number;
if (number > 0)
{
for (int i = 1; i <= number; i++)
{
denominator = pow(2 * i + 1, 2);
cout << 1 / denominator << " " << endl << endl;
sum += 1 / denominator;
}
cout << "amount = : " ;
cout << sum;
cout << endl << endl;
}
else
cout << "Task conditions are not complied with" << endl << endl;
}
void task73()
{
double sum = 1;
int number;
double fact = 1;
cout << "Enter N :";
cin >> number;
if (number > 1 && number <= 10)
{
sum = 0;
for (int i = 1; i <= number; i++)
{
fact *= i;
sum += 1 / fact;
}
cout << "amount = : " << sum << endl << endl;
}
else
{
cout << "Task conditions are not complied with" << endl << endl;
}
}
void task108()
{
double bull, cow, calf;
for (bull = 0; bull <= 10; bull++) {
for (cow = 0; cow <= 20; cow++) {
for (calf = 0; calf <= 200; calf++) {
if ((bull * 20 + 10 * cow + calf == 200) && (bull + cow + calf == 100))
cout << "bulls : " << bull << endl << "cows : " << cow << endl << "calfs : " << calf<<endl<<endl;
}
}
}
}
void task143()
{
int quantity = 0;
int n;
cout << "Enter n:";
cin >> n;
for (int i = 0; i < n; i++) {
if (i % 11 != 0)
{
quantity++;
}
}
cout << quantity << endl << endl;
}
void task178()
{
const int N = 18;
int A[N], i = 0;
for (i = 0; i < N; i++) {
A[i] = rand()%2;
cout << A[i]<<endl;
}
i = 0;
while (A[i] == A[i + 1])i++;
i = 1 * i++;
cout << "quantity numbers : " << i << endl << endl;
}
void task213()
{
cout << "Enter e : ";
double e;
cin >> e;
int count = 0;
double i = 0;
double an = 0;
double an_1 = 0;
for (int i = 1; abs(an - an_1) < e && count < 1000; i++)
{
count++;
an_1 = an;
an = 1 / pow(2 * i, 2);
cout << an << endl << endl;
//cout << i << endl;
}
}
void task248()
{
double a = 0, b = 0, h;
double min = -1;
double max = 1;
double y;
cout << "Enter line parameters[a,b] " << endl;
cout << "a : ";
cin >> a;
cout << "b : ";
cin >> b;
cout << "Enter step parameters: ";
cin >> h;
if (a >= b) cout << "parameter b must be bigger than a" << endl << endl;
else if (h <= 0) cout << "step must be bigger than null" << endl << endl;
else
for (double x = a; x <= b; x += h)
{
y = sin(x) + 0.5 * cos(x);
if ((y >= -1) && (y <= 1))
{
cout << " y = " << y << " x = " << x << endl << endl;
}
else
{
cout << " y : does not exist " << " x = " << x << endl << endl;
}
}
}
int main()
{
system("cls");
int number;
tryagain:
cout << "Numbers of the tasks: 3, 38, 73, 108, 178, 213, 248" << endl;
cout << "Enter number of the task(enter 0 to exit)..." << endl;
cin >> number;
switch (number)
{
case(3):
{
task3();
goto tryagain;
}
case(38):
{
task38();
goto tryagain;
}
case(73):
{
task73();
goto tryagain;
}
case(108):
{
task108();
goto tryagain;
}
case(178):
{
task178();
goto tryagain;
}
case(213):
{
task213();
goto tryagain;
}
case(248):
{
task248();
goto tryagain;
}
case(0):
{
return 0;
break;
}
default:
{
cout << "Invalid number" << endl;
goto tryagain;
}
}
}