понедельник, 24 сентября 2018 г.

c# Множини


Цікава забава Юри
На уроці інформатики Юрі стало дуже сумно, тому він придумав собі забаву.
На початку у нього є порожня множина. На кожному наступному етапі він придумує число і перевіряє, чи належить воно безлічі. Якщо належить, то Юрій вигукує "Yes". Якщо немає, то він вигукує "No", і додає його в безліч. Перед тим, як загадати нове число, Юра вигукує кількість елементів у множині.
Вчителю набридли крики Юрія, тому він змусив його написати програму, яка кричить замість хлопчика. Але Юра не вміє програмувати, тому попросив допомоги у Вас.
Вхід. У першому рядку задано натуральне число n (1 ≤ n ≤ 105). У кожному з наступних n рядків задано ціле число, яке задумав Юра. Юра вміє загадувати числа тільки на проміжку від -109 до 109.
Вихід. В окремому рядку виведіть то, що викрикував би Юра на кожен запит
Вхідні дані #1
5
1
2
3
4
1
Вихідні дані #1
No 1
No 2
No 3
No 4
Yes 4


https://docs.microsoft.com/ru-ru/dotnet/api/system.collections.generic.hashset-1?redirectedfrom=MSDN&view=netframework-4.7.2



Створити програму, яка дозволяє ввести цілочисельну множину А і створити програмним шляхом нову множину В, кожен елемент якого на 100 менше відповідного елемента множини А.
942

Діагоналі


Чотири точки A(x1y1)B(x2y2)C(x3y3)D(x4y4) є вершинами паралелограма. Визначити довжину діагоналей і знайти координати точки їх перетину.
Вхідні дані
У 4-х рядках через пропуск задані x та y координати послідовних вершин паралелограма, відповідно точок ABC та D. Всі числа по модулю не перевищують 100.
Вихідні дані
У першому рядку вивести через пропуск x та y координати точки O, у другому - довжину діагоналі AC і через пропуск - BD. Результати вивести з точністю до тисячних.
Вхідні дані
4 6
11 6
10 2
3 2
Вихідні дані
7.000 4.000
7.211 8.9


653

Трикутник

У Евклідовій геометрії трикутники можна поділити на три типи на підставі величини їх кутів. Трикутник гострий, якщо всі три кути менше 90градусів. Трикутик тупий, якщо один з кутів більше 90 градусів. Накінець, трикутнник з одним кутом рівним 90 градусів є прямокутним.
Вхідні дані
У єдиному рядку через пропуск записано три додатні цілі числа A,BC- довжини сторін трикутника. (A,B,C 10000)
Вихідні дані
У єдиному рядку слід вивести одне зі слів:
  • "IMPOSSIBLE" – якщо такого трикутника не існує;
  • "ACUTE" – якщо трикутник гострий;
  • "OBTUSE" – якщо трикутник тупий;
  • "RIGHT" – якщо трикутник прямокутний.


 private static int Max(int a, int b, int c)
        {
            int max = a;
            if (b > max) max = b;
            if (c > max) max = c;
            return max;
        }

        private static bool Yoxla(int a, int b, int c)
        {
            if (a == Max(a, b, c))
            {
                return a < b + c;
            }
            if (b == Max(a, b, c))
            {
                return b < a + c;
            }
            if (c == Max(a, b, c))
            {
                return c < a + b;
            }
            return false;
        }

        private static bool Right(int a, int b, int c)
        {
            if (a == Max(a, b, c)) return a * a == b * b + c * c;
            if (b == Max(a, b, c)) return b * b == a * a + c * c;
            if (c == Max(a, b, c)) return c * c == a * a + b * b;
            return false;
        }

        private static string ItiKor(int a, int b, int c)
        {
            if (a == Max(a, b, c))
            {
                if (a * a < b * b + c * c) return "ACUTE";
                return "OBTUSE";
            }
            if (b == Max(a, b, c))
            {
                if (b * b < a * a + c * c) return "ACUTE";
                return "OBTUSE";
            }
            if (c == Max(a, b, c))
            {
                if (c * c < a * a + b * b) return "ACUTE";
                return "OBTUSE";
            }
            return "";
        }
        static void Main(string[] args)
        {
            string setir = Console.ReadLine();
            var massiv = setir.Split(' ');
            int a = int.Parse(massiv[0]);
            int b = int.Parse(massiv[1]);
            int c = int.Parse(massiv[2]);
            if (Yoxla(a, b, c)) Console.WriteLine(Right(a, b, c) ? "RIGHT" : ItiKor(a, b, c));
            else Console.WriteLine("IMPOSSIBLE");
        }

926 

Формула Герона

Задано сторони ab`, cd та діагональ f опуклого чотирикутника. Визначити площу чотирикутника, використовуючи допоміжну функцію обчислення площі трикутника за формулою Герона.

Вхідні дані

В одному рядку задано 5 дійсних чисел abcdf (0 < abcdf ≤ 100), як це показано на рисунку.

Вихідні дані

Вивести площу чотирикутника, обчислену з точністю до 4-х знаків після десяткової крапки.
Вхідні дані #1
3 4 4 2 5
Вихідні дані #1
9.7997
924 

Кільце

Задано площу кільця й радіус зовнішнього кола. Визначити радіус внутрішнього кола.

Вхідні дані

Задано два дійсних числа: площа кільця і радіус зовнішнього кола, шо не перевищує 100.

Вихідні дані

Вивести радіус внутрішнього кола з 2 десятковими знаками.
Вхідні дані #1
50.2655 5
Вихідні дані #1
3.00
ublic static void Main(string[] args)
        {
            string setir = Console.ReadLine();
            var massiv = setir.Split(' ');
            double s = double.Parse(massiv[0]);
            double r1 = double.Parse(massiv[1]);
            double pi = 3.1415926535897932384626433832795028841971693993751058209749445923078164062862;
            double r2 = Math.Sqrt(r1*r1 - s/pi);
            Console.WriteLine("{0:N2}", r2);
        }
518


Сума двох

Знайти суму двох чисел.

Вхідні дані

Перший рядок містить кількість тестів t (1 ≤ t ≤ 100). Кожен тест складається з двох цілих чисел a та b.

Вихідні дані

Для кожного тесту вивести в окремому рядку суму чисел a та b.


четверг, 20 сентября 2018 г.

c#


Таблиця множення
Виведіть таблицю множення n * n з вирівнюванням.
Вхідні дані
Одне натуральне число n (1 ≤ n ≤ 9).
Вихідні дані
Виведіть таблицю множення n * n з вирівнюванням як показано в прикладі.
Вхідні дані #1
5
Вихідні дані #1
 1  2  3  4  5
 2  4  6  8 10
 3  6  9 12 15
 4  8 12 16 20

 5 10 15 20 25



Cкласти трикутник
За заданим довжинах трьох відрізків визначити, чи можна з них скласти невироджених трикутник. Трикутник називається невироджених, якщо його площа більше 0.
Вхідні дані
Три натуральних числа a, b, c (1 ≤ a, b, c ≤ 1000 чоловік) - довжини трьох відрізків.
Вихідні дані
Вивести YES якщо з відрізків можна скласти невироджених трикутник і NO у протилежному випадку.
Вхідні дані #1
5 6 7
Вихідні дані #1
YES

Сортування букв
Задано слово, що складається з прописних латинських букв. Відсортуйте його букви по зростанню і по спадаючій лексикографічного порядку.
Вхідні дані
Один рядок, що містить не більше 100 великих латинських букв 'a' - 'z'.
Вихідні дані
У першому рядку виведіть відсортовану вхідні рядок по неубиванія ASCII кодів букв. У другому рядку виведіть відсортовану вхідні рядок по незростання ASCII кодів букв.
Вхідні дані #1
qwerty
Вихідні дані #1
eqrtwy

ywtrqe

Визначити елементи масиву в яких присутня цифра 5


Ввести два цілих числа N1 і N2. Якщо N1> N2, знайти суму цілих чисел у діапазоні N1 ... N2. Якщо N2 більше N1, знайти суму цілих чисел у діапазоні N2 ... N1. Якщо N1 =N2, вивести на екран відповідне повідомлення.




Дано два масиви A і B. Визначити яких  з них має більший діапазон, тобто різницю між найбільшим і найменшим значенням.
Дано два речення. Знайти загальна кількість букв і в них. (Визначити функцію для розрахунку кількості букв і в реченні)



Вивести спочатку всі парні елементи масиву, а потім - непарні








вторник, 18 сентября 2018 г.

c#

Дано тризначне число. Знайти всі тризначні числа складаються з тих же цифр, що і вихідне число

Дано натуральне число n. Замінити порядок проходження цифр числа n на зворотній

uint x = uint.Parse(Console.ReadLine());
long y = 0;
while (x > 0)
{
   y = y * 10 + (x % 10);
   x /= 10;
}
Console.WriteLine(y);



Обчислити суму всіх елементів послідовності, які відповідають умові

Дана послідовність: d (n) = sin n; n = 1,2, ... 50. Обчислити суму всіх елементів цієї послідовності, які відповідають умові: | d (n) |> 0.5.


Вивести на екран номери всіх елементів масиву, які не діляться на 7



Вивести на екран номери всіх елементів масиву, що не збігаються з максимальним

Дано натуральне число n. Обчислити суму k старших (що знаходяться зліва) цифр чісла.С # не використовуючи масив

void Main() {     var n = long.Parse(Console.ReadLine());     var k = int.Parse(Console.ReadLine());         int numCount = 0;     var temp = n;     do     {         numCount++;         temp /= 10;     }while(temp != 0);         var startNum = numCount - k;         int res = 0;     temp = n;     for(int i = 0; i < numCount; ++i)     {         if(i >= startNum)         {             res += (int)(temp % 10);         }         temp /= 10;     }         Console.WriteLine(res); }