C#
1. Пользователь вводит координаты двух точек (у каждой точки есть параметры X Y).
Найти расстояние между этими двумя точками.
2. Пользователь вводит число. Не используя класс Math, а только цикл, найти факториал этого числа.
3*. Пользователь вводит число. Определить является ли это число ПРОСТЫМ.
Простые числа делятся без остачи ТОЛЬКО на себя и на 1.
Ответы
1) using System
class Program
{
static void Main()
{
Console.WriteLine("Введите координаты первой точки (X1 Y1):");
var point1 = Array.ConvertAll(Console.ReadLine().Split(' '), double.Parse);
Console.WriteLine("Введите координаты второй точки (X2 Y2):");
var point2 = Array.ConvertAll(Console.ReadLine().Split(' '), double.Parse);
double distance = Math.Sqrt(Math.Pow(point2[0] - point1[0], 2) + Math.Pow(point2[1] - point1[1], 2));
Console.WriteLine($"Расстояние между двумя точками: {distance}");
}
}
2)
using System;
class Program
{
static void Main()
{
Console.WriteLine("Введите число:");
int number = Convert.ToInt32(Console.ReadLine());
if (number < 0) { Console.WriteLine("Факториал отрицательного числа не определен."); }
else
{
int factorial = 1;
for (int i = 1; i <= number; i++) { factorial *= i; }
Console.WriteLine($"Факториал числа {number}: {factorial}");
}
}
}
3)
using System;
class Program
{
static void Main()
{
Console.WriteLine("Введите число:");
int n = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(IsPrime(n) ? $"{n} - простое число." : $"{n} - не простое число.");
}
static bool IsPrime(int n)
{
if (n <= 1) return false;
for (int i = 2; i <= Math.Sqrt(n); i++) if (n % i == 0) return false;
return true;
}
}