using System;
namespace NumberAnalyzer
{
class Program
{
static void Main(string[] args)
{
Console.Title = "Анализатор чисел - Линейный алгоритм";
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine("╔══════════════════════════════════╗");
Console.WriteLine("║ АНАЛИЗАТОР ЧИСЕЛ ║");
Console.WriteLine("╚══════════════════════════════════╝");
Console.ResetColor();
// Ввод числа
Console.Write("\nВведите число для анализа: ");
double number = Convert.ToDouble(Console.ReadLine());
// === МАТЕМАТИЧЕСКИЙ АНАЛИЗ ===
Console.WriteLine("\n📊 МАТЕМАТИЧЕСКИЙ АНАЛИЗ");
Console.WriteLine("─────────────────────────");
// Основные свойства
double absolute = Math.Abs(number);
double squared = Math.Pow(number, 2);
double cubed = Math.Pow(number, 3);
double squareRoot = Math.Sqrt(absolute);
double reciprocal = 1 / number;
Console.WriteLine($"Исходное число: {number}");
Console.WriteLine($"Модуль: {absolute}");
Console.WriteLine($"Квадрат: {squared}");
Console.WriteLine($"Куб: {cubed}");
Console.WriteLine($"Корень квадратный: {squareRoot:F4}");
Console.WriteLine($"Обратное число: {reciprocal:F6}");
// === ТРИГОНОМЕТРИЯ (в радианах) ===
Console.WriteLine("\n📐 ТРИГОНОМЕТРИЧЕСКИЕ ФУНКЦИИ");
Console.WriteLine("─────────────────────────────");
double radians = number * Math.PI / 180; // если число - градусы
double sinValue = Math.Sin(radians);
double cosValue = Math.Cos(radians);
double tanValue = Math.Tan(radians);
Console.WriteLine($"Угол в градусах: {number}°");
Console.WriteLine($"Угол в радианах: {radians:F4}");
Console.WriteLine($"Синус: {sinValue:F4}");
Console.WriteLine($"Косинус: {cosValue:F4}");
Console.WriteLine($"Тангенс: {tanValue:F4}");
// === ЛОГАРИФМЫ ===
if (number > 0)
{
Console.WriteLine("\n📈 ЛОГАРИФМЫ");
Console.WriteLine("─────────────");
double naturalLog = Math.Log(number);
double log10 = Math.Log10(number);
double log2 = Math.Log(number, 2);
Console.WriteLine($"Натуральный логарифм (ln): {naturalLog:F4}");
Console.WriteLine($"Десятичный логарифм (lg): {log10:F4}");
Console.WriteLine($"Двоичный логарифм (log₂): {log2:F4}");
}
// === ОКРУГЛЕНИЯ ===
Console.WriteLine("\n🎯 ОКРУГЛЕНИЯ");
Console.WriteLine("──────────────");
double floor = Math.Floor(number);
double ceiling = Math.Ceiling(number);
double rounded = Math.Round(number);
double truncated = Math.Truncate(number);
Console.WriteLine($"Округление вниз (floor): {floor}");
Console.WriteLine($"Округление вверх (ceiling): {ceiling}");
Console.WriteLine($"Округление математическое: {rounded}");
Console.WriteLine($"Отбрасывание дробной части: {truncated}");
// === ПРЕДСТАВЛЕНИЕ В РАЗНЫХ СИСТЕМАХ ===
int intPart = (int)Math.Truncate(absolute);
if (intPart <= int.MaxValue && intPart >= 0)
{
Console.WriteLine("\n💻 СИСТЕМЫ СЧИСЛЕНИЯ");
Console.WriteLine("────────────────────");
string binary = Convert.ToString(intPart, 2);
string octal = Convert.ToString(intPart, 8);
string hex = Convert.ToString(intPart, 16).ToUpper();
Console.WriteLine($"Десятичное: {intPart}");
Console.WriteLine($"Двоичное: {binary}");
Console.WriteLine($"Восьмеричное: {octal}");
Console.WriteLine($"Шестнадцатеричное: {hex}");
}
// === ПРОЦЕНТЫ ===
Console.WriteLine("\n💰 ПРОЦЕНТНЫЕ РАСЧЕТЫ");
Console.WriteLine("─────────────────────");
double percent10 = number * 0.1;
double percent25 = number * 0.25;
double percent50 = number * 0.5;
double percent200 = number * 2;
Console.WriteLine($"10% от числа: {percent10:F2}");
Console.WriteLine($"25% от числа: {percent25:F2}");
Console.WriteLine($"50% от числа: {percent50:F2}");
Console.WriteLine($"200% от числа: {percent200:F2}");
// === ИТОГОВАЯ СТАТИСТИКА ===
Console.WriteLine("\n📊 ИТОГОВАЯ СТАТИСТИКА");
Console.WriteLine("──────────────────────");
int digitsBeforeDecimal = intPart.ToString().Length;
string sign = number >= 0 ? "положительное" : "отрицательное";
string parity = intPart % 2 == 0 ? "четное" : "нечетное";
Console.WriteLine($"Знак числа: {sign}");
Console.WriteLine($"Четность целой части: {parity}");
Console.WriteLine($"Количество цифр в целой части: {digitsBeforeDecimal}");
Console.WriteLine("\n✅ Анализ завершен!");
Console.WriteLine("Нажмите любую клавишу для выхода...");
Console.ReadKey();
}
}
}
╔══════════════════════════════════╗
║ АНАЛИЗАТОР ЧИСЕЛ ║
╚══════════════════════════════════╝
Введите число для анализа: 45
📊 МАТЕМАТИЧЕСКИЙ АНАЛИЗ
─────────────────────────
Исходное число: 45
Модуль: 45
Квадрат: 2025
Куб: 91125
Корень квадратный: 6.7082
Обратное число: 0.022222
📐 ТРИГОНОМЕТРИЧЕСКИЕ ФУНКЦИИ
─────────────────────────────
Угол в градусах: 45°
Угол в радианах: 0.7854
Синус: 0.7071
Косинус: 0.7071
Тангенс: 1.0000
✅ Анализ завершен!