среда, 15 марта 2017 г.

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

Хлопчик Петя будує з кубиків сходи. Сходи є кілька споруджуваних поруч башточок з кубиків, кожна з яких рівно на один кубик вище попередньої. Потрібно за наявним у хлопчика Петі числа кубиків визначити, який в кубиках буде висота останньої сходинки.
Вхідні дані
Вхідний файл INPUT.TXT містить число К - кількість кубиків у хлопчика Петі (1 <= K <= 106).
Вихідні дані
У вихідний файл OUTPUT.TXT виведіть кількість кубиків в останній сходинці у максимально високої драбини, яку можна побудувати з K кубиків

У різдвяний вечір на віконці стояло три квіточки, зліва на право: герань, крокус і фіалка. Щоранку Маша витирала віконце і міняла місцями стоячу праворуч квітку з центральним квіткою. А Таня кожен вечір поливала квіточки і міняла місцями ліву і центральну квітку. Потрібно визначити порядок квітів вночі після K днів.
Вхідні дані
У вхідному файлі INPUT.TXT міститься натуральне число K - число днів (K <= 1000).
Вихідні дані
У вихідний файл OUTPUT.TXT потрібно вивести три латинських букви: «G», «C» і «V» (великі літери без пробілів), які описують порядок квітів на віконці після закінчення K днів (зліва направо). Позначення: G - герань, C - крокус, V – фіалка
INPUT.TXT
OUTPUT.TXT
1
1
VGC
2
5
CVG



Задача. Петрик П'яточкін вишикував у рядок слоненят та рахує їх по кожному кольору окремо. Всього буває 8 кольорів слоненят. У рядок вишикувались N (10

Технічні умови. Програма зчитує з клавіатури ціле число N - кількість слоненят, потім, через пропуск - N чисел від 1 до 8, якими ми пронумеровали кожен колір в тій послідовності, в якій вони потрапляли на очі Петрику від початку рядка. Програма виводить на екран в один рядок через пропуски пари цілих чисел, де перше число пари - колір, а друге - кількість слоненят такого кольору.

Приклад.

Введення>12 1 1 2 3 3 1 5 6 8 7 6 5 
Виведення> 1 3 2 1 3 2 4 0 5 2 6 2 7 1 8 1
Розв'язання.
Використаємо для підрахунку слоників масив цілих чисел з восьми елементів. Ітий елемент масиву буде кількість слоників ітого кольору. Так як пам'ятати стрій слоників не потрібно, то будемо зчитувати по одному слонику і збільшувати на 1, елемент масиву з номером відповідного кольору.
Запишемо алгоритми мовами програмування.


Реалізація методу обміну значеннями. Створити метод swap для  обміну значеннями у масиві між  у п’ятим і шостим елементом.
На площині дано дві окружності. Потрібно перевірити, чи перетинаються вони.
Вхідні дані
Вхідний файл INPUT.TXT складається з двох рядків. На кожному рядку записана інформація про одному колі - координати її центру x і y (цілі числа, по модулю не перевищують 5000) і радіус (ціле число 1 ≤ r ≤ 1000).
Вихідні дані
У вихідний файл OUTPUT.TXT виведіть «YES», якщо кола перетинаються, і «NO» в іншому випадку.

 
Для початку визначимося з тим, що нам відомі радіуси кіл і вони рівні r1 і r2. Так само за формулою відстані між точками ми можемо обчислити відстань між центрами даних кіл:
r = sqrt ((x2-x1) 2 + (y2-y1) 2) 
Зауважимо також, що окружності будуть перетинатися тоді і тільки тоді, коли можливий трикутник зі сторонами r1, r2 і r. Фігуру, дві сторони якої лежать на третій або одна зі сторін має нульову довжину так само будемо вважати трикутником, тому що окружності можуть один одного стосуватися (r = r1 + r2), або повністю збігатися (r = 0).
Трикутник вважається можливим якщо сума двох будь-яких його сторін не менше третьої. Тобто в нашому випадку досить перевірити, що r1 + r2> = r і r + r2> = r1 і r + r1> = r2. При цьому бажано використовувати речові типи даних. Так само можна провести акуратне порівняння з урахуванням можливих похибок при обчисленнях
Втомлені від незвично теплу зиму, жителі вирішили дізнатися, чи дійсно це найдовша відлига за всю історію спостережень за погодою. Вони звернулися до синоптиків, а ті, в свою чергу, зайнялися дослідженнями статистики за минулі роки. Їх цікавить, скільки днів тривала найдовша відлига.
Відлигою вони називають період, в який середньодобова температура щодня перевищувала 0 градусів Цельсія. Напишіть програму, що допомагає синоптикам в роботі.
Вхідні дані
У вхідному файлі INPUT.TXT спочатку записано число N - загальна кількість даних днів (1 ≤ N ≤ 100). У наступному рядку через пропуск розташовується N цілих чисел, розділених пробілами. Кожне число - середньодобова температура в відповідний день. Температури - цілі числа і лежать в діапазоні від -50 до +50.
Вихідні дані
У вихідний файл OUTPUT.TXT потрібно вивести одне число - довжину найтривалішою відлиги, тобто найбільшу кількість послідовних днів, протягом яких середньодобова температура перевищувала 0 градусів. Якщо температура в кожен з днів була непозитивно, виведіть 0.
INPUT.TXT
OUTPUT.TXT
1
6
-20 30 -40 50 10 -10
2

На свій день народження Петя купив гарний і смачний торт, який мав ідеально круглу форму. Петя не знав, скільки гостей прийде на його день народження, тому змушений був розробити алгоритм, згідно з яким він зможе швидко розрізати торт на N рівних частин. Слід врахувати, що розрізи торта можна робити як по радіусу, так і по діаметру.
Допоможіть Петі вирішити цю задачу, визначивши найменшу кількість розрізів торта за заданою кількістю гостей.
Вхідні дані
Вхідний файл INPUT.TXT містить натуральне число N - кількість гостей, включаючи самого винуватця торжества (N <= 1000).
Вихідні дані
У вихідний файл OUTPUT.TXT виведіть мінімально можливу кількість розрізів торта.

Допоможіть Васі вирішити цю задачу, визначивши максимальне число не обов'язково рівних шматків, які може отримати Вася, розрізаючи піцу таким чином.
Вхідні дані
Вхідний файл INPUT.TXT містить натуральне число N - кількість прямих розрізів піци (N <= 1000).
Вихідні дані
У вихідний файл OUTPUT.TXT виведіть відповідь на задачу.
INPUT.TXT
OUTPUT.TXT
1
2
4
Використовуємо середню арифметичну прогресію (динамічне програмування)
static void Main(string[] args)
        {
            int n = Convert.ToInt32(Console.ReadLine()); ;
            Console.WriteLine(((n * (n + 1)) / 2 + 1));
  }

понедельник, 13 марта 2017 г.

C#


Знайдіть мінімальне число, яке більше за 200 та кратне 17.


  1. Шукане число більше 200. Тому пошук почнемо з числа 200. Присвоїмо початкове значення змінній n:=200. Оберемо цикл repeat, бо спочатку потрібно збільшити число n на 1, а потім перевіряти умову завершення циклу       n mod 17=0.
  2. У циклі будемо збільшувати число n на 1 (бо шукане число більше 200) та перевіряти, чи воно кратне 17.
    • Якщо кратне, то кінець циклу.
    • Якщо не кратнеперехід на новий виток циклу (на пункт 2).
  3. Цикл завершується, коли число n кратне 17 (n mod 17=0). Ця умова перевіряється у until, бо є умовою закінчення циклу.
  4. Після завершення циклу виведення знайденого числа на екран.

Знайдіть 5 перших чисел, що більші за 200 та кратні 17.




Як і багато інших дівчат, Маша любить різні ворожіння. Деякий час назад Маша дізналася новий спосіб ворожити на числах - для якогось цікавить її натурального числа n треба порахувати суму всіх чисел, на які n ділиться без залишку. Маша не дуже любить математику, і попросила вас написати програму, яка автоматизує процес ворожіння.
Вхідні дані
У єдиному рядку вхідного файлу INPUT.TXT записано натуральне число n (n ≤ 1000), яке Маша була змушена повідомити.
Вихідні дані
У вихідний файл OUTPUT.TXT виведіть суму всіх натуральних дільників числа n.

Знайти максимум з від’ємних елементів
Дано натуральне число. Визначити: кількість парних цифр в ньому. 

НСК
Потрібно написати програму, яка визначить найменше спільне кратне (НСК) чисел a і b.
Вхідні дані
У єдиному рядку вхідного файлу INPUT.TXT записані два натуральних числа А і В через пробіл, що не перевищують 46340.
Вихідні дані
У єдиний рядок вихідного файлу OUTPUT.TXT потрібно вивести одне ціле число - НСК чисел А і В.

Відомо, що у дракона може бути кілька голів і його сила визначається числом голів. Але як визначити силу драконівської зграї, в якій кілька драконів і у кожного з них певну кількість голів? Ймовірно, ви вважаєте, що це значення обчислюється як сума всіх голів? Це далеко не так, інакше було б занадто просто обчислити силу драконівської зграї. Виявляється, що шукане значення дорівнює добутку значень числа голів кожного з драконів. Наприклад, якщо в зграї 3 дракона, у яких 3, 4 і 5 голів відповідно, то сила дорівнює 3 * 4 * 5 = 60. Припустимо, що нам відомо сумарне значення голів драконівської зграї, як нам обчислити максимально можливе значення сили цього лігва драконів ? Саме це завдання Вам і треба буде розв'язати.

Вхідні дані
У єдиному рядку вхідного файлу INPUT.TXT записано натуральне число N (0 <N <100 -="" o:p="">
Вихідні дані
У єдиний рядок вихідного файлу OUTPUT.TXT потрібно вивести максимально можливе значення сили, яка може бути у зграї драконів з N голів.


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

среда, 8 марта 2017 г.

Задачі

Дано рядок символів.Поміняти місцями першу і останню букви кожного слова


Дано рядок, вивести всі слова, що складаються з 5 букв.





Видалення елемента з масиву (2) за заданим номером

Всі члени послідовності, більші даного K, замінити заданим числом
Дан масив дійсних чисел, замінити всі його елементи, більше заданого числа, цим числом


Дано масив. Скопіювати всі його елементи в інший масив такого ж розміру

https://msdn.microsoft.com/ru-ru/library/system.array.clear(v=vs.110).aspx


Дано рядок символів. Вивести всі букви 'а' з їх порядковим номером

Знайдіть мінімальне число, яке більше за 200 та кратне 17.

  1. Шукане число більше 200. Тому пошук почнемо з числа 200. Присвоїмо початкове значення змінній n:=200. Оберемо цикл repeat, бо спочатку потрібно збільшити число n на 1, а потім перевіряти умову завершення циклу       n mod 17=0.
  2. У циклі будемо збільшувати число n на 1 (бо шукане число більше 200) та перевіряти, чи воно кратне 17.
    • Якщо кратне, то кінець циклу.
    • Якщо не кратнеперехід на новий виток циклу (на пункт 2).
  3. Цикл завершується, коли число n кратне 17 (n mod 17=0). Ця умова перевіряється у until, бо є умовою закінчення циклу.
  4. Після завершення циклу виведення знайденого числа на екран.

среда, 1 марта 2017 г.

C# Практичні завдання


Написати програму для перевірки усного рахунку, тобто вміння складати двозначні числа. Програма повинна генерувати 10 прикладів повідомляти про правильність або помилку введеної відповіді і виставляти оцінку.




Громадянин відкрив рахунок в банку, вклавши K грн. Через кожен місяць розмір вкладу збільшується на р% від наявної суми. Визначити суму вкладу через n  років, якщо після кожного року зберігання громадянин знімав з рахунку 200 грн.


Написати програму в якій, через консоль, вводиться інформація про 5 студентів і виводиться дані на екран.

Вводити інформацію потрібно:
1. ПІБ студента
2. № студ. квитка
3. № курсу
4. № групи


вторник, 28 февраля 2017 г.

C# Практичні завдання

Занести обидва масиви в новий масив і вивести цей масив на екран - C #

Обробка текстової інформації є однією з найпоширеніших завдань сучасного програмування. С # надає для її вирішення широкий набір засобів: символи голець, незмінні рядки рядок, змінювані рядки StringBuider і регулярні вирази Regex
Символьний тип CHAR призначений для зберігання символу в кодуванні Unicode. Символьний тип відноситься до вбудованих типів даних С # і відповідає стандартному класу Сhar бібліотеки .Net з простору імен System. В цьому класі визначено статичні методи, що дозволяють задавати вид і категорію символу, а також перетворювати символ в верхній або нижній регістр, в число.






понедельник, 27 февраля 2017 г.

C# Практичні завдання

Дано масив розміру N. Вивести його елементи в зворотньому порядку
(два способи)

ІІ спосіб
Масив впорядкувати по зростанню абсолютних значень елементів. Алгоритм обміну
Розбити масив на два масиви- з додатніх та від’ємних елементів


четверг, 16 февраля 2017 г.

C# Олімпіадні задачі

Ваш улюблений дядько - директор фірми, яка робить євроремонти в офісах. У зв'язку з фінансово-економічною кризою, дядечко вирішив оптимізувати своє підприємство.
Давно ходять чутки, що бригадир в дядечкової фірмі купує зайву кількість будматеріалів, а залишки використовує для обробки своєї нової дачі. Ваш дядько зацікавився, скільки насправді банок фарби необхідно для фарбування стін в офісі довжиною L метрів, шириною - W і висотою - H, якщо однієї банки вистачає на 16м2, а розмірами дверей і вікон можна знехтувати? Замовлень багато, тому дядько попросив написати програму, яка буде все це рахувати.
Вхідні дані
Вхідний файл INPUT.TXT містить три натуральних числа L, W, H - довжину, ширину і висоту офісу в метрах відповідно, кожне з яких не перевищує 1000.
Вихідні дані

У вихідний файл OUTPUT.TXT виведіть одне ціле число - мінімальну кількість банок фарби, необхідних для фарбування стін в офісі.
Підказка- Якщо залишок більше нуля, то до відповіді потрібно додати 1.

Відрізок задано координатами своїх кінцевих точок. Потрібно обчислити довжину цього відрізка.
Вхідні дані
Вхідний файл INPUT.TXT містить координати кінців відрізка в форматі X1 Y1 X2 Y2. Всі координати - цілі числа, що не перевищують 1000 по абсолютній величині.
Вихідні дані
У вихідний файл OUTPUT.TXT виведіть довжину відрізка з точністю 10-5.
Метод CultureInfo.ToString ()Повертає рядок, що містить ім'я поточного об'єкта CultureInfo в форматі languagecode2-country / regioncode2.
Необхідно обчислити значення 2n.
Вхідні дані
У єдиному рядку вхідного файлу INPUT.TXT записано натуральне число n (0
Вихідні дані
У єдиний рядок вихідного файлу OUTPUT.TXT потрібно вивести значення 2n
Нещодавно на поле фермера Джона були виявлені сліди приземлення літаючих тарілок. Про це навіть писала газета Mew Yorc Courier.
Поле фермера Джона має форму кола радіусом r1. За повідомленнями журналістів були виявлені два сліди від літаючих тарілок, що мали форму кіл. Один з них мав радіус r2, другий - радіус r3. Також повідомляється, що вони перебували всередині поля фермера Джона і не перетиналися, жоден з них не лежав всередині іншого. При цьому, вони, можливо, стосувалися один одного і / або межі поля.
Оскільки журналісти часто схильні перебільшувати масштаби подій, необхідно написати програму, яка буде перевіряти, чи могли мати місце події, описані в газеті.
Вхідні дані
Вхідний файл INPUT.TXT містить три цілих позитивних числа - r1, r2, r3 (1 ≤ r1, r2, r3 ≤ 109).
Вихідні дані
У вихідний файл OUTPUT.TXT виведіть слово YES, якщо інформація, опублікована в газеті, може відповідати правді, і слово NO - інакше.

На  уроках інформатики вас, напевно, вчили переводити числа з одних систем числення в інші і виконувати інші подібні операції. Прийшов час продемонструвати ці знання. Знайдіть кількість одиниць в двійковій запису заданого числа.
Вхідні дані
У вхідному файлі INPUT.TXT записано ціле число n (0 ≤ n ≤ 2 * 109).
Вихідні дані
У єдиний рядок вихідного файлу OUTPUT.TXT потрібно вивести одне ціле число - кількість двійкових одиниць в запису числа n.


Потрібно знайти найдовшу безперервну ланцюжок нулів в послідовності нулів і одиниць.

вхідні дані
У єдиному рядку вхідного файлу input.txt записана послідовність нулів і одиниць (без пробілів). Сумарна кількість цифр від 1 до 100.
вихідні дані
У єдиний рядок вихідного файлу output.txt потрібно вивести шукану довжину ланцюжка нулів