четверг, 28 сентября 2017 г.

c# олімпіадні задачі

Вася загадав число від 1 до N. За яку найменшу кількість питань (на які Вася відповідає "так" або "ні") Петя може вгадати Васино число? Вхідні дані Вводиться одне число N Вихідні дані Виведіть найменшу кількість питань, якого гарантовано вистачить Петі, щоб вгадати Васине число. 
приклади вхідні дані 5 вихідні дані 3

Вася - відмінник. Він радіє кожній п'ятірці, яку побачить в числі. Щоранку він їде на автобусі і вважає кількість п'ятірок в квитку, який йому попався. За давньою приймете (діючої ще з 2-го класу), він знає, що за день отримає стільки п'ятірок, скільки їх у нього в квитку. За номером сьогоднішнього Васиного квитка визначте, скільки п'ятірок він отримає в цей день.

Вхідні дані Номер Васиного квитка n (0 ≤ n ≤ 9999).
Вихідні дані  Виведіть кількість п'ятірок, яке отримає Вася.
приклад входу
3533
 приклад виходу
1

Вхідне  число поміщається в цілочисельний тип int. Будемо перебирати цифри числа і підраховувати кількість п'ятірок в ньому. Перебір будемо виробляти, послідовно виконуючи поділ на 10. Таким чином чергова цифра буде доступна як залишок від ділення поточного числа на 10.
 Реалізація алгоритму
Читаємо номер Васиного квитка n. Спочатку кількість п'ятірок cnt покладемо рівним 0.
 Число закінчується на 5, якщо залишок від його поділу на 10 дорівнює 5. Якщо число n закінчується на 5, то збільшимо кількість п'ятірок на одиницю. У циклі будемо ділити n на 10, поки n не стане рівним нулю.

n школярів ділять k яблук порівну, що не ділиться залишок залишається в кошику. Скільки яблук дістанеться кожному школяреві?
 Вхід. Два позитивних цілих числа n і k, що не перевищують 1500 - рідко в школі буває більше учнів, та й багато яблук теж їсти шкідливо ...
 Вихід. Вивести кількість яблук, яке дістанеться кожному школяреві.
 приклад входу
3 14
 приклад виходу
4
аналіз алгоритму
 Для вирішення завдання досить знайти частка від ділення k на n.  
 Реалізація алгоритму Читаємо вхідні дані. Обчислюємо і виводимо відповідь.

Прямокутний чи ні?
Задано довжини сторін трикутника. Визначити, чи є цей трикутник прямокутним.
Вхідні дані
У єдиному рядку задано 3 натуральні числа - довжини сторін трикутника. Довжини сторін не перевищують 1000.
Вихідні дані
Вивести "YES" (без лапок), якщо трикутник є прямокутним, або "NO" (без лапок) у протилежному випадку.
Приклад
Вхідні дані                3  5  4
Вихідні дані              YES


задачі



Дано два цілих числа A і B (A


Дано два цілих числа A і B (A


Обчислити суму ряду чисел 1/12 + 1/22 + 1/32 + ... + 1 / n2, де n визначається користувачем.


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

c#





c# олімпіадні задачі

Сходинки

Після святкування Дня народження Петрика Степан пішов з ним погуляти. Петрик був дуже веселий – сміявся, стрибав, бігав. Прогулюючись парком Степан з Петриком підійшли до сходів, що вели до атракціонів. Петрик почав стрибати з однієї сходинки на іншу. Причому, коли він відштовхувався не сильно, то стрибав тільки на наступну сходинку, а коли сильно – через одну.

На яку сходинку стрибне Петрик, якщо він стоїть на сходинці з номером M, а усього сходи мають N  сходинок? 

Формат вхідних даних
У єдиному рядку вхідного файлу записані через пробіл такі дані: число N (1 <= N <= 1000) – кількість сходинок на сходах, число M  (0 <= M <= N)– номер сходинки на якій стоїть Петрик та символ, який означає силу з якою Петрик відштовхується: S (strongly) – сильно або  W (weakly) – слабо. 
Формат вихідних даних
У вихідний файл необхідно вивести одне єдине число – номер сходинки, на якій опиниться Петрик після стрибка.
Приклад
Стандартне введення
Стандартне виведення
10  3  W
4



Два прямокутники. Задано два прямокутники. Написати програму two_rec.*, яка визначить, чи вони співпадають. 
 Вхідні дані. Вхідний текстовий файл two_rec.dat містить в єдиному рядку чотири цілих числа (розділених один від одного одним пропуском), спочатку довжина a і ширина b першого прямокутника, а потім довжина с і ширина d другого прямокутника (1≤a,b,c,d≤100). 

Вихідні дані. Вихідний текстовий файл two_rec.sol містить в єдиному рядку повідомлення «yes», якщо дані прямокутники співпадають, або «not», якщо дані прямокутники не співпадають.
Задача Бісектриса

.

Підготовка до шахової олімпіади

В університеті, де вчився Степан, вирішили провести шахову олімпіаду. Щоб добре до неї підготовитись, Степан вирішив спочатку пограти зі своїм сусідом Робертом, якого усі мешканці дома називали жартома Фішером. Роберт досить пристойно грав у шахи і залюбки погодився допомогти Степану.
Перші дві зустрічі Степан програв, потів звів партію у нічию, а наступну виграв. Роберт змінив дебют  і Степан знову програв партію, далі була нічия і виграш Степана. Роберт знову змінив дебют і ситуація повторилась – Степан знову програв партію, далі була нічия і виграш Степана. Усього Степан з Робертом зіграли досить багато партій, причому ситуація щоразу повторювалася – спочатку Степан програвав, потім була нічия, а потім – перемога Степана. Треба визначити скільки поразок було у Степана у перших N партіях.   
Формат вхідних даних
Вхідний файл містить одне число – N  (кількість партій,  0 <= N <= 1018).
Формат вихідних даних
Одне число – кількість поразок Степана у зустрічах з Робертом у перших N партіях.  
Приклад
Стандартне введення
Стандартне виведення
5
3

Степан і похід в магазиy

Сьогодні Степан чекає в гості свого друга Василя. Щоб підготуватися до зустрічі, Степану необхідно відвідати два магазини, розташованих поряд з його будинком. 
Від будинку до першого магазину веде доріжка довжини d1 метрів, а до другого магазину веде доріжка довжини d2 метри. Також існує доріжка, яка безпосередньо сполучає два магазини один з одним, довжиною d3 метри.
Допоможіть Степану обчислити мінімальну відстань, яку йому буде потрібно пройти, щоб відвідати обидва магазини і повернутися додому. Степан завжди стартує зі свого будинку. Він повинен відвідати обидва магазини, переміщаючись тільки за наявними трьома доріжками, і повернутися назад додому. При цьому його абсолютно не бентежить, якщо йому доведеться відвідати один і той же магазин або пройти по одній і тій же доріжці більше одного разу. Єдине його завдання - мінімізувати сумарну пройдену відстань. 
Формат вхідних даних У першому рядку вхідних даних знаходяться 3 цілих числа d1, d2, d3 (1 ≤ d1, d2, d3 ≤ 108 ) - довжини доріжок. d1 - довжина доріжки, що з'єднує будинок Степана і перший магазин; d2 - довжина доріжки, що з'єднує будинок Степана і другий магазин; d3 - довжина доріжки, що з'єднує два магазинаФормат вихідних даних Виведіть мінімальну кількість метрів, яку доведеться пройти Степану, щоб відвідати обидва магазини і повернутися додому. 
Приклад
Стандартне введення
Стандартне виведення
10 20 30
60







четверг, 21 сентября 2017 г.

С#

Ввести три числа. Перемножити їх, та вивести на екран перемножене число у прямому та зворотному (оберненому порядку)

Створити абстрактний клас «Особистість» від нього Повинні бути реалізовані класи «абітурієнт» студент, професор, способи введення-виведення, критерій - вік. Вивести старше визначного віку.



C# Практика



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

c# олімпіадні задачі

Піратам вдалося справедливо розділили скарб із m золотих монет – кожен отримав частину відповідно до свого піратського рангу і стажу.
Наймолодший пірат взяв одну монету, а кожен наступний пірат брав на одну монету більше, ніж попередній його колега.
Коли останній пірат забрав свою долю, то ще лишилось n монет, які були закопані на "чорний день".
Скільки було піратів?
Вхідні дані: Два натуральних числа m та n (1 ≤ n < m ≤ 106).
Вихідні дані: Вивести кількість піратів.
Ліміт часу 1 секунда. Ліміт використання пам'яті 64 MB

Вхідні дані: 17 2    Вихідні дані: 5
Поїздка на екскурсію
Учні 10-Б класу, на осінні канікули, вирішили поїхати на екскурсію до столиці. Знаючи кількість хлопчиків n та дівчаток m, визначити скільки потрібно замовити кімнат в готелі, в якому є кімнати на k місць кожна, за умови, що хлопчиків та дівчаток поселяти разом заборонено.
Вхідні дані: В одному рядку записано три числа n, m, k (n, m, k ≤ 100).
Вихідні дані: Вивести одне число - кількість кімнат, які потрібно забронювати в готелі.
Ліміт часу 1 секунда.Ліміт використання пам'яті 64 MB
Вхідні дані:   6 12 3     Вихідні:  6
Кількість кімнати для хлопчиків визначається діленням націло кількості хлопців та кількості місць у одній кімнаті плюс ще одна кімната якщо залишок від ділення не нуль. Те ж саме і для дівчат.
Програма отримує цілі та дробові випадкові числа в інтервалі від (-10 до 9.9) для плаваючого краю (-10 до 9) для цілих чисел і вносить їх в двомірну масив, після цього ми виводимо ці масиви на екран. Для цього нам потрібно мати два масиви - цілочисленне і зі плаваючою комою.


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

Console.WriteLine("vvedite chislo X: ");
            uint x = uint.Parse(Console.ReadLine());
            long y = 0;
            while (x > 0)
            {
                y = y*10 + (x%10);
                x /= 10;
            }
            Console.WriteLine("vidpovid: " + y);
            Console.ReadKey();

За допомогою циклу вивести числа слід чином
1
6
2 2
7 7
3 3 3
8 8 8
4 4 4 4
9 9 9 9

static void Main(string[] args)
        {
            for (int i = 1; i <= 4; i++)
            {
                for (int j = 0; j < i; j++)
                    Console.Write(i + " ");
 
                Console.WriteLine();
 
                for (int j = 0; j < i; j++)
                    Console.Write(i+5 + " ");
 
                Console.WriteLine();
 
            }
            Console.ReadKey();
        }