using System; class Program { static int VariantFromStudentNumber(int n) => (n % 2 != 0) ? 1 : 2; static int ScoreVariant1(double x, double y) { var r = Math.Sqrt(x * x + y * y); if (r <= 1) return 10; if (r <= 2) return 5; if (r <= 3) return 2; return 0; } static int Sector(double x, double y) { var a = Math.Atan2(y, x); if (a > Math.PI / 4 && a <= 3 * Math.PI / 4) return 1; if (a > -Math.PI / 4 && a <= Math.PI / 4) return 5; if (a > -3 * Math.PI / 4 && a <= -Math.PI / 4) return 2; return 3; } static int ScoreVariant2(double x, double y) { var r = Math.Sqrt(x * x + y * y); if (r <= 1) return 10; if (r <= 3) return Sector(x, y); return 0; } static void Main() { Console.Write("Номер по списку: "); int student = int.Parse(Console.ReadLine()); int variant = VariantFromStudentNumber(student); Console.Write("Сколько выстрелов: "); int n = int.Parse(Console.ReadLine()); Console.Write("Случайный центр? (y/n): "); bool rndCenter = Console.ReadLine().Trim().ToLower() == "y"; Console.Write("Случайная помеха? (y/n): "); bool noise = Console.ReadLine().Trim().ToLower() == "y"; var rnd = new Random(); double cx = 0, cy = 0; if (rndCenter) { cx = rnd.NextDouble() * 2 - 1; cy = rnd.NextDouble() * 2 - 1; } int sum = 0; for (int i = 0; i < n; i++) { Console.Write($"Выстрел {i + 1} (x y): "); var parts = Console.ReadLine().Trim().Split(new[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries); double x = double.Parse(parts[0]); double y = double.Parse(parts[1]); if (noise) { x += (rnd.NextDouble() * 0.2 - 0.1); y += (rnd.NextDouble() * 0.2 - 0.1); } x -= cx; y -= cy; int s = variant == 1 ? ScoreVariant1(x, y) : ScoreVariant2(x, y); sum += s; Console.WriteLine($"Очки: {s}, сумма: {sum}"); } Console.WriteLine($"Итоговая сумма: {sum}"); } }