#include <iostream>
#define _USE_MATH_DEFINES
#include <math.h>
#include <iomanip>
using namespace std;
void task7(int value)
{
//Напишите программу, которая выводит в столбец произведения чисел а = 143, b = 777 и чисел 1, 2, 3, ... 9.
int a = 143, b = 777;
cout << "a * b = " << a * b << endl;
for (int i = 1; i < 10; i++)
{
value = value * i;
}
cout << "9! = " << value << endl;
}
void task42(int value)
{
//42. Вычислить у = cos x + cos x^2 + cos x^3 + ... + cos x^n
long double x, n, y = 0, c = 0;
do
{
cout << "Введите x :" << endl;
if (!(cin >> x))
{
cin.clear();
cin.ignore(65535, '\n');
cout << "неправильный ввод" << endl;
}
} while (x == 0);
do
{
cout << "Введите n :" << endl;
if (!(cin >> n))
{
cin.clear();
cin.ignore(65535, '\n');
cout << "неправильный ввод" << endl;
}
} while (n == 0);
for (int i = 1; i <= n; i++)
{
c = cos(pow(x, i));
y += c;
}
cout << y << endl;
}
void task77()
//77. Около стены наклонно стоит палка длиной 4,5 м.
//Нижний конец находится на расстоянии 3 м от стены.
//Он начинает скользить в плоскости, перпендикулярной стене.
//Определить значения угла между палкой и полом(в градусах) через каждые 0, 2 м с момента начала скольжения до падения палки.
{
double palka = 4.5, nijkonotsteny = 3, verhkonotpola, A, B;
verhkonotpola = sqrt((palka * palka) - (nijkonotsteny * nijkonotsteny));
for (nijkonotsteny; verhkonotpola > 0.2; nijkonotsteny += 0.2)
{
verhkonotpola -= 0.2;
A = sin((90 * M_PI)/180);
B = A * verhkonotpola / palka;
cout << B * 180/ M_PI << endl;
}
}
void task112()
//Составить программу - генератор простых чисел, в основу положить формулу при 0 ≤ х ≤ 36.
{
string more;
cout << "rand number : " << 0 + rand() % 36 << endl;
cout << "please take yes to more random number" << endl;
cin >> more;
while (more == "yes")
{
cout << "rand number : " << 0 + rand() % 36 << endl;
more.clear();
cin.ignore(65535, '\n');
cout << "please take yes to more random number" << endl;
cin >> more;
}
}
void task147()
//147. Задано уравнение 11х^3 – 13у^3 + 17z^3 – 4503 = 0.
//Определить, имеет ли оно решение в целых числах. Если имеет, то сколько их, и чему они равны.
{
int x , y , z , h = 4503;
cout << "11х^3 – 13у^3 + 17z^3 – 4503 = 0"<<endl;
cout << "введите x,y,z:" << endl;
do
{
if (!(cin >> x))
{
cin.clear();
cin.ignore(65535, '\n');
cout << "неправильный ввод" << endl;
}
} while (x == 0);
do
{
if (!(cin >> y))
{
cin.clear();
cin.ignore(65535, '\n');
cout << "неправильный ввод" << endl;
}
} while (y == 0);
do
{
if (!(cin >> z))
{
cin.clear();
cin.ignore(65535, '\n');
cout << "неправильный ввод" << endl;
}
}while (z == 0);
if (h == (11 * x * x * x) - (13 * y * y * y) + (17 * z * z * z)) // решения либо нету , либо оно одно
cout << "есть решение" << endl;
else cout << "нет решения" << endl;
}
void task182()
{
//182. Дано число n. Из чисел 1, 4, 9, 16, 25, ... напечатать те, которые не превышают n.
cout << "input n" << endl;
int i, n = 0;
while (n == 0)
{
if (!(cin >> n))
{
cin.clear();
cin.ignore(65535, '\n');
}
}
for (i = 1; i * i < n; i++)
cout << i << "\t" << i * i << endl;
}
void task217()
{
//Найти наименьший номер члена последовательности, для которого выполняется условие |An - An-1|<E
//Вывести на экран этот номер и все элементы Ai где i = 1, 2, 3...,n.
cout << "|An - An-1|<eps"<<endl;
double n = 0, eps = 0, an = 0;
while (n == 0)
{
cout <<"введите n:"<< endl;
if (!(cin >> n))
{
cin.clear();
cin.ignore(65535, '\n');
}
}
while (eps == 0)
{
cout << "введите eps:" << endl;
if (!(cin >> eps))
{
cin.clear();
cin.ignore(65535, '\n');
}
}
an = pow(n, log(n)) / pow(log(n),n);
double an_1 = pow(n-1, log(n-1)) / pow(log(n-1), n-1);
double k = abs(an - an_1);
k < eps ? cout << "верно"<<endl : cout << "неверно"<<endl;
}
void task252()
{
//252. Написать программу вычисления функции y = 2ax - 3b*sqrt(2c + 3ax) a = 2;b = 0.5;c = -4 . Аргумент принимает значения от 1 до 10 с шагом 1.
float x, a = 2, b = 0.5, c = -4, y;
for (x = 1; x <= 10; x++)
{
if (x == 1)
cout << "y = решения нет" << endl;
else {
y = 2 * a * x - 3 * b * sqrt(2 * c + 3 * a * x);
cout << "y = " << y << endl;
}
}
}
int main()
{
int value = 1;
setlocale(LC_ALL, "Russian");
cout << "Задание № 7 : " << endl;
task7(value);
cout << "Задание № 42 :" << endl;
task42(value);
cout << "Задание № 77 : " << endl;
task77();
cout << "Задание № 112 : " << endl;
task112();
cout << "Задание № 147 : " << endl;
task147();
cout << "Задание № 182 : " << endl;
task182();
cout << "Задание № 217 : " << endl;
task217();
cout << "Задание № 252 : " << endl;
task252();
return 0;
}