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#. Для соседних задач пригодятся эти разборы:

Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные

Настройки cookie

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x