C#
Возведение в степень в C#: Math.Pow, квадрат и целые степени
В C# для возведения в степень используют Math.Pow. Метод принимает два числа: основание и показатель степени. Результат возвращается как double
Минимальный пример:
double result = Math.Pow(2, 3);
Console.WriteLine(result);
Вывод:
8
Math.Pow(2, 3) означает 2 в степени 3
Квадрат числа
Если нужен просто квадрат, часто проще и быстрее написать умножение:
int x = 7;
int square = x * x;
Console.WriteLine(square);
Результат:
49
Для квадрата не обязательно использовать Math.Pow
Почему Math.Pow возвращает double
Даже если вы передали целые числа, результат будет double:
var result = Math.Pow(5, 2);
Console.WriteLine(result.GetType());
Результат:
System.Double
Если вам нужен int, можно преобразовать результат:
int result = Convert.ToInt32(Math.Pow(5, 2));
Console.WriteLine(result);
Но делайте это только если уверены, что результат действительно должен быть целым и не выйдет за пределы int
Степень из ввода пользователя
Пример с Console.ReadLine:
Console.Write("Введите число: ");
double number = Convert.ToDouble(Console.ReadLine());
Console.Write("Введите степень: ");
double power = Convert.ToDouble(Console.ReadLine());
double result = Math.Pow(number, power);
Console.WriteLine($"Результат: {result}");
Проверьте:
Введите число: 3
Введите степень: 4
Результат: 81
Для реальной программы лучше использовать double.TryParse, чтобы не падать при неправильном вводе
Целая степень без Math.Pow
Если степень целая и положительная, можно написать цикл:
int number = 2;
int power = 5;
int result = 1;
for (int i = 0; i < power; i++)
{
result *= number;
}
Console.WriteLine(result);
Результат:
32
Такой вариант полезен для учебы: видно, что степень — это повторное умножение
Частые ошибки
Искать оператор ^ для степени
В C# ^ не означает возведение в степень. Для степени используйте Math.Pow или умножение
Забыть using System
В современных шаблонах .NET System часто подключен неявно. Но в старых проектах может понадобиться:
using System;
Преобразовывать double в int без проверки
Если результат большой или дробный, преобразование в int может дать неожиданность или ошибку. Для финансовых и точных расчетов продумывайте типы заранее
Отрицательная и дробная степень
Math.Pow умеет работать не только с целыми положительными степенями:
Console.WriteLine(Math.Pow(2, -2));
Console.WriteLine(Math.Pow(9, 0.5));
Результат:
0,25
3
2 в степени -2 — это 1 / 4. Степень 0.5 для 9 дает квадратный корень
Для квадратного корня в обычном коде лучше использовать более явный метод:
double root = Math.Sqrt(9);
Console.WriteLine(root);
Так код легче читать
Практический сценарий: рост суммы
Степень часто нужна не в абстрактной математике, а в расчетах роста:
double start = 10000;
double rate = 1.10;
int years = 3;
double result = start * Math.Pow(rate, years);
Console.WriteLine(Math.Round(result, 2));
Если сумма растет на 10% в год, Math.Pow(rate, years) показывает общий множитель за несколько лет
Мини-задание
Напишите программу, которая считает площадь квадрата по стороне:
Console.Write("Сторона квадрата: ");
double side = Convert.ToDouble(Console.ReadLine());
double area = Math.Pow(side, 2);
Console.WriteLine($"Площадь: {area}");
Затем замените Math.Pow(side, 2) на side * side и убедитесь, что результат совпадает
Что почитать дальше по C#
Если нужен общий маршрут по теме, откройте рубрику C#. Для соседних задач пригодятся эти разборы:
- C# с нуля: первый проект через dotnet new
- Как установить .NET SDK для C#
- Классы и свойства в C#: первый пример
- Типы, переменные и строки в C#