среда, 26 сентября 2018 г.
вторник, 25 сентября 2018 г.
понедельник, 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(x1; y1), B(x2; y2), C(x3; y3), D(x4; y4) є вершинами
паралелограма. Визначити довжину діагоналей і знайти координати точки їх
перетину.
Вхідні дані
У 4-х рядках через пропуск задані x та y координати
послідовних вершин паралелограма, відповідно точок A, B, C та D.
Всі числа по модулю не перевищують 100.
Вихідні дані
У першому рядку вивести через
пропуск x та y координати точки O,
у другому - довжину діагоналі AC і через пропуск - BD.
Результати вивести з точністю до тисячних.
Вхідні дані
4 6
11 6
10 2
3 2
Вихідні дані
7.000 4.000
7.211 8.9
Трикутник
У Евклідовій геометрії трикутники можна поділити на три типи на підставі величини їх кутів. Трикутник гострий, якщо всі три кути менше 90градусів. Трикутик тупий, якщо один з кутів більше 90 градусів. Накінець, трикутнник з одним кутом рівним 90 градусів є прямокутним.
Вхідні дані
У єдиному рядку через пропуск записано три додатні цілі числа A,B, C- довжини сторін трикутника. (1 ≤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
Формула Герона
Задано
сторони a, b`, c, d та
діагональ f опуклого чотирикутника. Визначити площу
чотирикутника, використовуючи допоміжну функцію обчислення площі трикутника за
формулою Герона.
Вхідні
дані
В одному рядку задано 5 дійсних
чисел a, b, c, d, f (0 < a, b, c, d, f ≤ 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 на зворотній
Вивести на екран номери всіх елементів масиву, що не збігаються з максимальним
Дано натуральне число 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); }
Дано натуральне число 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); }
Подписаться на:
Сообщения (Atom)