среда, 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]);
        }

1 комментарий:

  1. Задача "Вартість розмови" не зовсім корректно поставлена на мою думку. Основне питання, чи потрібно списувати вартість з'єднання, якщо з'єднання відбулось, а розмова ні (відразу поклали слухавку)? Автори задачі вважають, що ні. Але це неочевидно.

    Також в цій задачі зайвий цикл. Можна просто написати:
    sum = a + n * b;

    ОтветитьУдалить