среда, 8 ноября 2017 г.

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

Непарні розряди

Знайти добуток цифр п’ятицифрового числа n, які стоять на непарних розрядах.

Вхідні дані

Ціле п’ятицифрове число n.

Вихідні дані

Вивести добуток цифр на непарних розрядах.
Вхідні дані #1
12345
Вихідні дані #1

15

Середнє з чисел

Дано три різні числа abc. Вивести середнє з них.

Вхідні дані

Числа abc цілі та за модулем не перевищують 1000.

Вихідні дані

Вивести середнє з трьох чисел.
Вхідні дані #1
11 3 7
Вихідні дані #1
7

Маршрутне таксі

У годину пік на зупинку одночасно під'їхали три маршрутних таксі, що прямують по одному маршруту, в які тут же набилися пасажири. Водії виявили, що кількість людей в різних маршрутках різний, і вирішили пересадити частину пасажирів так, щоб в кожній маршрутці було порівну пасажирів. Потрібно визначити, яку найменшу кількість пасажирів доведеться при цьому пересадити.
Вхідні дані
У вхідному файлі записано три натуральних числа, що не перевищують 100 - кількості пасажирів в першій, другій і третій маршрутках відповідно.
Вихідні дані
У вихідний файл виведіть одне число - найменшу кількість пасажирів, яке потрібно пересадити. Якщо це неможливо, виведіть слово IMPOSSIBLE (великими літерами).
Вхідні дані #1
1 2 3
Вихідні дані #1
1

Послідовність чисел Фібоначчі

Дано ціле число N (2 ≤ N ≤ 31). Сформувати і вивести цілочисловий масив A розміру N, що містить N перших елементів послідовності чисел Фібоначчі: FkF1 = 1F2 = 1Fk = Fk-2 + Fk-1k = 34, ... .
Вхідні дані
У єдиному рядку задано число N.
Вихідні дані
Вивести послідовність з N перших чисел послідовності Фібоначчі по одному у рядку.
Вхідні дані
5
Вихідні дані
1
1
2
3
5

Вартість розмови
Знайти вартість в копійках телефонного дзвінка тривалістю n секунд, якщо вартість підключення a коп., тарифікація похвилинна, тобто на першій секунді кожної хвилини нараховується плата b коп.
Вхідні дані
Три цілих невід'ємних числа ab та n (0 ≤ ab ≤ 990 ≤ n ≤ 86400).
Вихідні дані
Вивести вартість телефонного дзвінка в копійках.
Вхідні дані #1
5 10 120
Вихідні дані #1
25

Сума чисел на проміжку

Знайти суму цілих чисел на проміжку від a до b.

Вхідні дані

Два числа цілі а та b, які за модулем не перевищують 109.
Вихідні дані Сума цілих чисел на проміжку від a до b.
Вхідні дані #1
2 5
Вихідні дані #1
14


Непарні дільники

Вивести всі непарні дільники натурального числа n.

Вхідні дані

Одне натуральне число n (n ≤ 100000).
Вихідіні дані Вивести всі непарні дільники числа n. Кожний дільник виводити в окремому рядку.
Вхідні дані #1
12
Вихідні дані #1
1
3

Квадратні числа

Назвемо число квадратним, якщо сума його цифр є квадратом деякого натурального числа.
Наприклад, число 88 є квадратним, так як сума його цифр 8+8=16, а це квадрат числа 4, а число 23 таким не буде, так як сума його цифр 2+3=5, і не існує натурального числа, квадрат якого дорівнює 5.
Перевірте, чи є задане натуральне число квадратним.
Вхідні дані
Єдине натуральне число, яке не перевищує 109.
Вихідні дані
Виведіть Yes, якщо задане число є квадратним, і No у протилежному випадку.
Вхідні дані
Sample 1
23

Sample 2
88
Вихідні дані
Sample 1
No

Sample 2
Yes

Число
Іноді хочеться показати оточуючим, що ви - нібито екстрасенс. Можливо, хочеться продемонструвати діткам, як багато ви знаєте і вмієте. Вгадування загаданого числа - відмінний фокус для того, щоб розташувати до себе людей.
Інструкція
1.     Попросіть когось загадати три цифри (обов'язково цифри, а не числа).
2.     Потім попросіть його помножити першу загадану цифру на 2 і додати до результату, що вийшов 3. Потім помножити це число на 5.
3.     Потім до вже отриманого числа додав другу загадану цифру і помножити суму на 10.
4.     До нового числа, що вийшло додайте третю задуману цифру.
5.     Попросіть його назвати число, що вийшло.
Зробіть вигляд, що ви задумалися (тільки довго не думайте). Тим часом, відніміть від вимовленого вголос числа 150. Вийде, що перша, друга і третя цифри результату є задуманими цифрами гравця.
Вхідні дані
Вхідні дані містять рядок з числом, яке назвав учень.
Вихідні дані
Вихідний текстовий файл містить рядок з трьома задуманими цифрами через пропуск.
Вхідні дані
747
Вихідні дані
5 9 7

static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine()) - 150;
            string eded = n.ToString();
            Console.WriteLine(eded[0] + " " + eded[1] + " " + eded[2]);
        }

вторник, 7 ноября 2017 г.

c#

Розсчитайтесь по порядку

У одній з паралелей ЛКШ на параді паралелей виступає n школярів. Їм потрібно розсчитатись по порядку. За командою одного школяра інші стають у шеренгу і починають розрахунок. Перший школяр у шерензі каже "перший", потім другий каже "другий" і так далі. Вам потрібно написати цю частину сценарію.

Вхідні дані

Одне число n (1 ≤ n ≤ 1000).

Вихідні дані

Виведіть числа від 1 до n через пропуск.
Вхідні дані #2
4
Вихідні дані #2

1 2 3 4



Пошуки мінімума

В ЛКШ переполох. Загубився мінімум. Ви повинні його знайти.

Вхідні дані

У першому рядку знаходиться число n (1 ≤ n ≤ 1000). У другому рядку задано n цілих чисел, кожне з яких за модулем не перевищує 105.

Вихідні дані

Виведіть мінімум серед заданих n чисел. Вхідні дані #2

4
Вихідні дані #2
1 2 3 4

Ланч

Влад бажає взяти з собою для ланча пару фруктів. У нього є a різних бананів, b різних яблук та c різних груш. Скількома способами він може обрати 2 різні фрукти з того що у нього є?

Вхідні дані

В одному рядку задано три невід'ємні числа: abc. Усі числа не перевищують 106.

Вихідні дані

Вивести кількість способів, якими можна обрати 2 фрукти різного виду.
Вхідні дані #1
3 4 2
Вихідні дані #1
26

Срібна медаль

Спортсмен Василь приймав участь у змаганнях з хокейболу і отримав в особистому заліку срібну медаль. Відомо, що учасники, які набрали однакову кількість очок, нагороджуються однаковими нагородами. Також відомо, що було розіграно золоті, срібні та бронзові медалі. У задачі не питають про правила хокейболу. Необхідно лише визначити, скільки очок набрав Василь.
Вхідні дані
У першому рядку задано кількість спортсменів (≤ ≤ 1000), які приймали участь у змаганнях, у другому n цілих чисел - результати змагання.
Вихідні дані
Вивести одне число - результат Василя.
Вхідні дані #2
8
1 2 5 3 5 6 6 5

Максимальна зарплата

На малому підприємстві працює певна кількість працівників, але не менше двохдиректора і головного бухгалтера. Знаючи зарплати всіх працівників, знайти найбільшу зарплату на підприємстві.
Вхідні дані
У єдиному рядку через пропуск задано заробітні плати працівників в гривнах. Всі вхідні дані – невід’ємні дійсні числа, відокремлені пропусками, їх кількість не перевищує 1000.
Вихідні дані
Єдине число – відповідь на задачу, виведена з двома цифрами після коми.
Вхідні дані
1000.00 760.00
Вихідні дані
1000.00




Скільки до Нового Року?
У Діда Мороза є годинник, який в секундах показує скільки залишилось до кожного Нового Року. Оскільки Дід Мороз вже літня людина, то деякі математичні операції він не в змозі швидко виконувати. Допоможіть Діду Морозу визначити скільки повних днів, годин, хвилин та секунд залишилось до наступного Нового Року, якщо відомо скільки залишилось секунд, тобто розкладіть час в секундах на повну кількість днів, годин, хвилин та секунд.
Вхідні дані
У єдиній стрічці ціле число N (0 < N≤ 31500000) – кількість секунд, що залишилось до Нового Року.
Вихідні дані
В одній стрічці через пропуск чотири цілих числа – кількість повних днів, годин, хвилин та секунд. Після останного числа пропуск відсутній.
Вхідні дані
21009
Вихідні дані
0 5 50 9

static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            int g = n / 86400;
            int s = (n - g * 86400) / 3600;
            int d = (n - g * 86400 - s * 3600) / 60;
            int m = n - g * 86400 - s * 3600 - d * 60;
            Console.WriteLine("{0} {1} {2} {3}", g, s, d, m);
        }

Множення на коротке
Знайдіть добуток двох чисел a та b.
Вхідні дані
Два цілі числа a та b (0 ≤ a ≤ 101000 ≤ b ≤ 9), кожне в окремому рядку.
Вихідні дані
Виведіть число, яке дорівнює добутку a та b.
static void Main(string[] args)
        {
            BigInteger a = BigInteger.Parse(Console.ReadLine());
            BigInteger b = BigInteger.Parse(Console.ReadLine());
            Console.WriteLine(a * b);
        }

Змагання з тенісу

Необхідно сформувати команду, яка буде представляти навчальний заклад у змаганнях з тенісу. У секції тенісу займається A дівчат і Bхлопців. Скільки різних змішаних пар можна вибрати для участі у змаганнях?
Вхідні дані
У єдиному рядку через пропуск знаходиться 2 цілих невід'ємних числа A та B, які не перевищують 106.
Вихідні дані
Єдине число - відповідь до задачі.
Вхідні дані
6 9
Вихідні дані
54
static void Main(string[] args)
        {
            string s = Console.ReadLine();
            var massiv = s.Split(' ');
            Console.WriteLine(long.Parse(massiv[0]) * long.Parse(massiv[1]));
        }

четверг, 2 ноября 2017 г.

forms c#

  int s = 0;
        private void button1_Click(object sender, EventArgs e)
        {
            this.BackgroundImage = Properties.Resources.doluna;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            this.BackgroundImage = Properties.Resources.gora;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            this.BackgroundImage = Properties.Resources.ozero;
        }

        private void button4_Click(object sender, EventArgs e)
        {
            if  (s==1)
                this.BackgroundImage = Properties.Resources.secret;
            else
            this.BackgroundImage = Properties.Resources.ri;
            s = 0;
        }

        private void secret_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                s = 1;
               // this.BackgroundImage = Properties.Resources.secret;
            }
        }

        private void secret_MouseMove(object sender, MouseEventArgs e)
        {
            if (s==1)
if (e.X            {
                s = 2;
            }

        }