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

C#



Бандити Гаррі і Ларрі відпочивали на природі. Вирішивши постріляти, вони виставили на колоду кілька банок з-під кока-коли (не більше ніж 10). Гаррі почав прострілювати банки по порядку, починаючи з самої лівої, Ларрі - з самої правої. У якийсь момент вийшло так, що вони одночасно прострелили одну і ту ж останню банку.
Гаррі обурився і сказав, що Ларрі повинен йому купу грошей за те, що той позбавив його задоволення прострелити кілька банок. У відповідь Ларрі сказав, що Гаррі повинен йому ще більше грошей з тих же причин. Вони стали сперечатися хто кому скільки винен, але ніхто з них не пам'ятав скільки банок було на початку, а шукати прострелені банки по всій окрузі було неохота. Кожен з них пам'ятали тільки, скільки банок прострелив він сам.
Визначте за цими даними, скільки банок не прострелив Гаррі і скільки банок не прострелив Ларрі.
Вхідні дані
У єдиному рядку вхідного файлу INPUT.TXT записано 2 числа - кількість банок, прострелених Гаррі і Ларрі відповідно.
Вихідні дані

У файл OUTPUT.TXT виведіть 2 числа - кількість банок, що не прострелених Гаррі і Ларрі відповідно.
Прочитавши цю задачу виникає бажання дізнатися: скільки всього було банок? Насправді, це обчислюється досить просто: c = a + b-1, де одиницю ми відняли, тому що одна з банок прострелено двічі, тому кількість банок дорівнює числу пострілів (всі банки адже простріляні) без одиниці. Тому Гаррі прострілив c-a банок, а Ларрі c-b банок.
Виявляється, що можна обійтися і двома змінними без обчислення загальної кількості банок. Дійсно, кожен бандит не прострелив саме ті банки, які прострілив інший, окрім єдиної, в яку вони вистрілили разом. Таким чином, Гаррі прострілив b-1 банок, а Ларрі a-1 банок.


Удачі в читанні a і b, а так само виведенні b-1 і a-1


У вільний час однокласники Вася і Петя люблять грати в різні логічні ігри: морський бій, хрестики-нулики, шахи, шашки та багато іншого. Хлопці вже випробували і пограли у всілякі класичні гри подібного роду, включаючи комп'ютерні. Одного разу їм захотілося зіграти будь-що-небудь нове, але нічого підходящого знайти не вдалося. Тоді Петя придумав наступну гру «Угадайка»: Грають двоє учасників. Перший загадує будь тризначне число, таке що перша і остання цифри відрізняються один від одного більш ніж на одиницю. Далі загадав число гравець перевертає загадане число, змінюючи першу і останню цифри місцями, таким чином отримуючи ще одне число. Потім з максимального з отриманих двох чисел віднімається мінімальне. Завдання другого гравця - вгадати по першій цифрі отриманого в результаті віднімання числа саме це число. Наприклад, якщо Вася загадав число 487, то перестановкою першої і останньої цифри він отримає число 784. Після чого йому доведеться відняти від 784 число 487, в результаті чого вийде число 297, яке і має відгадати Петя по вказаній першій цифрі «2», взятої з цього числа. Петя встигає краще Васі з математики, тому практично завжди виграє в іграх такого типу. Але в даному випадку Петя схитрував і спеціально придумав таку гру, в якій він не програє Васі в будь-якому випадку. Справа в тому, що придумана Петром гра має виграшну стратегію, яка полягає в наступному: шукане число завжди є тризначним і друга його цифра завжди дорівнює дев'яти, а для отримання значення останньої досить відняти від дев'яти першу, тобто в розглянутому вище випадку остання цифра дорівнює 9-2 = 7. Допоможіть Петі ще спростити процес відгадування числа за заданою його першої цифри, написавши відповідну програму.
Вхідні дані
У єдиному рядку вхідного файлу INPUT.TXT задана єдина цифра К, відповідна першій цифрі отриманого Васею в результаті віднімання найменшого задуманого Васею значення з найбільшого.
Вихідні дані

У вихідний файл OUTPUT.TXT потрібно вивести значення отриманої Васею різниці.


Задані перший і другий елементи арифметичної прогресії. Потрібно написати програму, яка визначить елемент прогресії по її номеру.
Вхідні дані
Вхідний файл INPUT.TXT містить три цілих числа, розділених пробілами - перший елемент прогресії A1 (1 ≤ A1 ≤ 1000), другий елемент прогресії A2 (1 ≤ A2 ≤ 1000), і номер необхідного елемента N (1 ≤ N ≤ 1000). 
1 5 3
Вихідні дані

Вихідний файл OUTPUT.TXT повинен містити одне ціле число - N-й елемент арифметичної прогресії.
Тут мова йде про такій послідовності чисел:
1, 5, 9, 13, 17, 21, ...

У даній послідовності D = 4, тому A1 = 1, A2 = A1 + D = 5, A3 = A1 + 2 * D = 9, і т.д. Оскільки нам потрібно було знайти 3й елемент прогресії, то відповіддю на завдання є число 9 ..



Дано два довільних масиви Р, G розміру n, m відповідно. Знайти суму квадратів елементів масиву Р і суму квадратів елементів масиву G.

Знайти суму тих елементів масиву, які кратні даному К
Дано натуральне число N і послідовність з  N елементів.  Потрібно вивести цю послідовність в зворотному порядку.
Вхідні дані
У першому рядку вхідного файлу INPUT.TXT записано натуральне число N (N ≤ 10). У другому рядку через пропуск йдуть N цілих чисел, по модулю не перевищують10- елементи послідовності.
Вихідні дані
У вихідний файл OUTPUT.TXT виведіть задану послідовність в зворотному порядку.
Для заїзду в оздоровчий табір організатори вирішили замовити автобуси. Відомо, що в табір збираються поїхати N дітей і M дорослих. Кожен автобус вміщає K людей. У кожному автобусі, в якому поїдуть діти, має бути не менше двох дорослих.
Визначте, чи вдасться відправити у табір всіх дітей і дорослих, і якщо так, то яку мінімальну кількість автобусів потрібно для цього замовити.
Вхідні дані
У єдиному рядку вхідного файлу INPUT.TXT записано через пропуск 3 натуральних числа - N, M і K, кожне з них не перевищує 10 000.
Вихідні дані
У єдиний рядок вихідного файлу OUTPUT.TXT потрібно вивести кількість автобусів, які потрібно замовити. Якщо ж відправити всіх у табір неможливо, виведіть 0 (нуль).

По-перше: потрібно врахувати, що До може приймати значення менше або рівне 2. У цьому випадку слідує  виводити 0, тому, що в кожен автобус ми будемо змушені посидить дорослих (а діти так і не виїдуть). Тепер розглянемо випадок коли До більше двох: в тому випадку потрібно буде рівно n / (k-2) автобусів для перевезення дітей. Зауважимо, що якщо n не ділиться без остачі на k-2, то автобусів знадобитися на один більше. Так само ми не зможемо виїхати якщо кількість дорослих поділене на два менше кількості потрібних автобусів для перевезення дітей. У всіх інших випадках відповіддю буде (m + n) / k, але якщо (m + n) не ділиться без остачі на k то на один автобус більше

Комментариев нет:

Отправить комментарий