Untitled
unknown
c_cpp
4 years ago
4.1 kB
7
Indexable
#include <iostream>
#include <conio.h>
#include <string>
#include <cmath>
using namespace std;
void AreaAndPerimetr();
void FibbonachiAndFactorial();
void SimpleAndNOD();
void BinaryConverter();
int Area(int, int);
int Perimetr(int, int);
void DrawRectangle(int, int, char);
void Fibbonacci(int);
long long Factorial(int);
string Prime(int);
int FindNOD(int, int);
string ConvertToBinary(long long);
int main()
{
setlocale(LC_ALL, "rus");
cout << "Введите 1 для первого задания, 2 для второго, 3 для третьего и любой другой символ для 4\n";
switch (_getch())
{
case '1':
AreaAndPerimetr();
break;
case '2':
FibbonachiAndFactorial();
break;
case '3':
SimpleAndNOD();
break;
default:
BinaryConverter();
break;
}
}
void AreaAndPerimetr()
{
int length, width;
cout << "Введите длину прямоугольника" << endl;
cin >> length;
cout << "Введите ширину прямоугольника" << endl;
cin >> width;
cout << "Площадь заданного прямоугольника = " << Area(length, width) << endl
<< "Периметр заданного прямоугольника =" << Perimetr(length, width) << endl;
char symbol;
cout << "Введите символ которым будет нарисован прямоугольник " << endl;
cin >> symbol;
DrawRectangle(length, width, symbol);
}
void FibbonachiAndFactorial()
{
int number;
cout << "Введите число ";
cin >> number;
Fibbonacci(number);
cout << "Факториал - " << Factorial(number);
}
void SimpleAndNOD()
{
int firstNumber, secondNumber;
cout << "Введите 2 числа ";
cin >> firstNumber >> secondNumber;
cout << "первое число - " << Prime(firstNumber) << endl;
cout << "второе число - " << Prime(secondNumber) << endl;
cout << "Нод - " << FindNOD(firstNumber, secondNumber);
}
void BinaryConverter()
{
long long number;
cout << "введите число ";
cin >> number;
cout << ConvertToBinary(number);
}
int Area(int length, int width)
{
int area = length * width;
return area;
}
int Perimetr(int length, int width)
{
int perimetr = 2 * (length + width);
return perimetr;
}
void DrawRectangle(int length, int width, char symbol)
{
for (int i = 0; i < length; i++)
{
for (int j = 0; j < width; j++)
{
cout << symbol;
}
cout << endl;
}
}
void Fibbonacci(int number)
{
int fibbonacci, firstNumberFibonacci = 1, secondNumberFibonacci = 0;
for (int i = 1; i <= number; i++)
{
fibbonacci = firstNumberFibonacci + secondNumberFibonacci;
firstNumberFibonacci = secondNumberFibonacci;
secondNumberFibonacci = fibbonacci;
cout << fibbonacci << " ";
}
cout << endl;
}
long long Factorial(int number)
{
long long factorial = 1;
for (int i = 1; i <= number; i++)
{
factorial *= i;
}
return factorial;
}
string Prime(int number)
{
for (int i = 2; i <= sqrt(number); i++)
{
if (number % i == 0)
{
return " не является простым числом";
}
}
return "простое число";
}
int FindNOD(int firstNumber, int secondNumber)
{
while (firstNumber != secondNumber)
{
if (firstNumber > secondNumber)
{
firstNumber = firstNumber - secondNumber;
}
else
{
secondNumber = secondNumber - firstNumber;
}
}
return firstNumber;
}
string ConvertToBinary(long long number)
{
string convertedNumberToBinary = "";
while (number > 0) {
convertedNumberToBinary += char(number % 2 + 48);
number /= 2;
}
reverse(convertedNumberToBinary.begin(), convertedNumberToBinary.end());
return convertedNumberToBinary;
}
Editor is loading...