Задача 3
Описати рекурсивну функцію pow(x,n) від натурального x (x≠0) та цілого n, яка обраховує величину x^n за формулою:
x^n=
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class a
{
public double p;
public double pow(int x, int n)
{
if (n == 0)
p = 1;
else
if (n < 0)
p = 1 / pow(x, -n);
else
p = x * pow(x, n-1);
return p;
}
}
class Program
{
static void Main(string[] args)
{
a A =new a();
Console.WriteLine("Введiть x та n");
int x = Int32.Parse(Console.ReadLine());
int n = Int32.Parse(Console.ReadLine());
if (x == 0)
{
Console.WriteLine("Данi введено не коректно");
}
else
{
double b = A.pow(x, n);
Console.WriteLine(b);
}
Console.ReadKey();
}
}
}
Задача 4
В заданий непустий текст входять лише цифри і букви. Визначити, чи задовольняє він наступній умові: текст починається з деякої ненулевої цифри, за якою слідують тільки букви, і їх кількість рівна числовому значенню цієї цифри.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string str;
string strpat = "1";
Console.WriteLine("Введiть текст");
str = Convert.ToString(Console.ReadLine());
if (str[0] == ('1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'))
{
strpat = "[0-9]{1}([a-zA-Zа-яА-Я])";
}
else
{
strpat = @"\b[0-9]{1}([a-zA-Zа-яА-Я])";
}
Regex pat = new Regex(strpat);
Match match = pat.Match(str); ;
if (match.Success)
{
if ((str[0] != '0') & (Int32.Parse(Convert.ToString(str[0])) == str.Length - 1))
Console.WriteLine("Текст задовольняє умовi");
else
Console.WriteLine("Текст не задовольняє умовi");
}
else
Console.WriteLine("Текст не задовольняє умовi");
Console.ReadKey();
}
}
}
Задача 5
Дано натуральне і дійсні числа x1,y1,…,xn,yn. Розглядаючи пари xi,yi як координати точок на площині, визначити радіус найменшого круга (з центром в точці початку координат), в середину якого потрапляють всі ці точки.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введiть кiлькiсть пар");
int p = int.Parse(Console.ReadLine());
Console.WriteLine("Введiть пари чисел, кожна пара з нового рядка");
int[,] num = new int[p, 2];
double[] len = new double[p];
int i;
for (i = 0; i < p; i++)
{
string str = Console.ReadLine();
for (int j = 0; j < 2; j++)
{
int El = Convert.ToInt32(str.Split(' ')[j]);
num[i, j] = El;
}
}
for (i = 0; i < p; i++)
{
len[i] = Math.Pow(num[i, 0] * num[i, 0] + num[i, 1] * num[i, 1], 0.5);
}
Console.WriteLine("Радiус шуканого круга = "+len.Max());
Console.ReadLine();
}
}
}