Перейти к содержанию

Задачи

Основы Java

  1. Вывести на экран фразу: Cъешь же ещё этих мягких французских булок, да выпей чаю. Откуда пошла эта фраза?
  2. Разработать программу, которая выводит текущую дату в следующем формате: Какой великолепный день! На дворе YYYY год, славный месяц MMM, прекрасный DD день! Сегодня начнутся приключения!
  3. Разработать программу, которая выводит количество часов, минут и секунд, которые прошли с 00:00:00 текущего дня, в формате hh:mm:ss.
  4. Тони Старк зарабатывает 50 миллионов долларов в месяц. На каждый из своих костюмов он тратит по 30 миллионов долларов в год. В начале года у него был 5 костюмов, а в конце года - 1, остальные он потерял в битве с Таносом и его вертолетом Таноскоптером. Начальное состояние в начале года составляло 1.3 миллиарда долларов. Напишите программу, которая рассчитает его состояние в конце года.
  5. Теоден из Рохана готов помочь Гендальфу победить армию орков Сарумана, предоставив армию своих бойцов. Для того, чтобы победить одного орка, нужно 5 воинов Рохана, а чтобы победить одного урук-хая - 10 воинов Рохана. Всего у Сарумана 10 тысяч воинов урук-хай и 20 тысяч обычных орков. Написать программу, которая выведет количество воинов, которое нужно армии Рохана. Сделать параметры настраиваемыми.
  6. Рик Санчез изобрел портальную пушку. С её помощью он может прыгать по бесконечному числу реальностей. Покинув вселенную С-137, он отправился в путешествие с целью раздобыть мега-семена. В каждой из реальностей он может собрать только N мегасемян, иначе он попадется на таможне Галактической федерации. Написать программу, которая рассчитывает, сколько прыжков между реальностями нужно сделать, чтобы добыть все M мегасемян.
  7. Студент Толя поспорил с Колей, что съест N шавух в столовке СевГУ, а съел только M. Сколько шавух не смог осилить Толя? Напишите для расчётов программу, ведь Толя и Коля уж больно часто спорят.
  8. В одной капле воды сидит N микробов, в другой капле микробов сидит в два раза больше, чем в первой, а в третьей — в четыре раза меньше, чем во второй. Сколько микробов засядут в Дениса Михайловича, если он перепутает эти капли с валерьянкой и выпьет их залпом после очередной пары по программированию? Напишите программу, которая выдаст ему точный расчёт.
  9. В комнате в общежитии №3 веселилось N мух. Студентка Татьяна открыла форточку и, размахивая полотенцем, выгнала из комнаты M мух. Но прежде чем она успела закрыть форточку, K мух вернулось обратно. Сколько мух теперь веселится в комнате? Напишите программу, чтобы Таня точно знала, стоит ли ей сооружать в следующий раз огнемет.
  10. На заседании кафедры собралось 25 строгих преподавателей, и все стали по очереди ругать должников, которые не сдали сессию. Каждый преподаватель ругал каждого должника по 4 минуты. Сколько часов ругали этих дятлов, которые не могут оторвать свои булки от доты и таки сдать сессию?
  11. Даниил Иванов сел делать лабораторные работы по программированию и сидел за столом 4 часа. 40 минут он ковырял в носу и думал о шавухе. 1 час 10 минут он играл в доту. 10 минут искал в интернете неприличные мемы про преподавателя, и после потратил 20 минут на то, чтоб нарисовать его самому. Остальное время Даня делал отчеты в Word. Сколько отчётов сделал Даня, если он на каждый потратил по 20 минут?
  12. Бандиты Гарри и Ларри отдыхали на природе. Решив пострелять, они выставили на бревно несколько банок из-под кока-колы (не больше 10). Гарри начал простреливать банки по порядку, начиная с самой левой, Ларри — с самой правой. В какой-то момент получилось так, что они одновременно прострелили одну и ту же последнюю банку. Гарри возмутился и сказал, что Ларри должен ему кучу денег за то, что тот лишил его удовольствия прострелить несколько банок. В ответ Ларри сказал, что Гарри должен ему еще большую кучу денег по тем же причинам. Они стали спорить кто кому сколько должен, но никто из них не помнил сколько банок было в начале, а искать простреленные банки по всей округе было неохота. Каждый из них помнил только, сколько банок прострелил он сам. Определите по этим данным, сколько банок не прострелил Гарри и сколько банок не прострелил Ларри.В программе заданы два числа - сколько банок прострелил Гарри и сколько банок прострелил Гарри и сколько банок прострелил Ларри. В ответ вывести сколько банок не прострелили Гарри и Ларри соответственно.
  13. Дано двузначное число. Найти:
    • число десятков в нем;
    • число единиц в нем;
    • сумму его цифр;
    • произведение его цифр.
    • сумму квадратов его цифр
  14. Дано трехзначное число, в котором все цифры различны. Получить шесть чисел, образованных при перестановке цифр заданного числа.
  15. Написать код, который для заданного радиуса radius вычисляет объем соответствующей сферы.
  16. Написать код, который для заданного объема прямоугольного параллелепипеда volume вычисляет объем вписанной в неё сферы.
  17. Написать код, который рассчитывает площадь треугольника по трём заданных сторонам.
  18. Написать код, который рассчитывает на основе заданного радиуса сферы radius находит объем описанного вокруг этой сферы прямоугольного параллелепипеда. Используя полученный объем и заданную плотность density, определите, насколько тяжелым получится камень такого же объема и плотности, и можно ли его кинуть в местного задиру, который обижает уличного котэ. Низзя обижать котиков!
  19. Анна Кияма и Йо Асакура решили подготовиться к турниру шаманов. С некоторого заданного дня (dayStart) по некоторый другой день(позже первого, dayEnd, в этом же году) Анна мучала Йо, заставляла его бегать десятки километров, обижала Амидамару и заставляла Морти готовить. Йо, конечно же, есть не мог - он готовился к турниру. Сколько полных недель прошло за этот период?
  20. Даниил Крастер решил изготовить самодельную печку и приготовить в ней прекрасный бодрящий напиток (сначала он хотел ирландский виски, но решил всё таки приготовить чай). Он тестирует новую технологию и снимает ролик на YouTube. Даня очень не любит ждать, поэтому начал эксперимент ровно в полночь, а пока напиток готовится - он решил сделать гитару из доширака. С начала суток часовая стрелка повернулась на y градусов (0 ≤ y ≤ 360, y — вещественное число). Определить число полных часов и число полных минут, прошедших с начала суток, в течении которых Даня пытался заварить доширак и сделать из него гитару?
  21. Написать программу, которая умеет менять значение двух целочисленных переменных между собой, не используя другие переменные, условные операторы, циклы, массивы, функции и так далее. Только простейшие операторы, только хардкор. И да, это вам не Python гонять с его a, b = b, a !
  22. У американского писателя-фантаста Рэя Бредбери есть роман 451 градус по Фаренгейту. Какой температуре по шкале Цельсия соответствует указанное в названии значение?
  23. Энакин Скайуокер учил Асоку Тано пилотированию космического истребителя джедаев Eta-2 Actis. Для того, чтобы постичь мастерство высшего пилотажа (а Энакин, как известно, хороший пилот), они решили вылететь с одного звездного разрушителя класса Венатор до другого звездного разрушителя попроще (Аккламатор). Координаты первого корабля (x1, y1, z1) до другого (x2, y2, z2). Какое расстояние по прямой между двумя точками в космическом пространстве?
  24. Дано вещественное число \(a\). Пользуясь только операцией умножения, получить:
    • \(a^4\) за две операции;
    • \(a^6\) за три операции;
    • \(a^7\) за четыре операции;
    • \(a^8\) за три операции;
    • \(a^9\) за четыре операции;
    • \(a^{10}\) за четыре операции.
  25. Дано вещественное число \(a\). Пользуясь только операцией умножения, получить:
    • \(a^3\) и \(a^{10}\) за четыре операции;
    • \(a^4\) и \(a^{20}\) за пять операций;
    • \(a^5\) и \(a^{13}\) за пять операций;
    • \(a^5\) и \(a^{19}\) за пять операций;
    • \(a^2\), \(a^5\) и \(a^{17}\) за шесть операций;
    • \(a^4\), \(a^{12}\) и \(a^{28}\) за шесть операций.

Условия

  1. Разработать программу, которая для заданной пары чисел a и b определяет, какое из них больше.
  2. Разработать программу, которая для заданной тройки чисел a, b, c, определяет, какое из них меньше.
  3. Разработать программу, которая для заданной тройки чисел a, b, c, определяет решение квадратного уровнения вида ax^2+bx+c=0, и выводит значения корней этого уровнения (2 корня, 1 корень или Нет решений)
  4. Определить, является ли текущий год високосным. Год является високосным, если он делится нацело на 4, а также в случае если он делится нацело на 100 - делится еще и на 400.
  5. Для заданной пары чисел x, y, определить, в каком квадранте находится точка (x,y) и вывести текст:
    • I квадрант - вывести слово Кексик 💚
    • II квадрант - вывести слово Пирожочек 💛
    • III квадрант - вывести слово Круассанчик ❤
    • IV квадрант - вывести слово Эклерчик 💜
    • А если точка попадает на любую ось - вывести Вабба-лабба-даб-даб ✨.
  6. Великий и всевышний Ктулху пробудился, и теперь ему хочется кушать. В его взор попадают следующие категории еды: пингвины, которые плавают со скоростью 12 км/ч, рыбы, которые плавают со скоростью 15 км/ч, и линуксоиды, которые плавают со скоростью 5 км/ч. До полудня Ктулху плавает со скоростью 13 км/ч, а после обеда - со скоростью 10 км/ч. Реализовать программу, которая выведет, кого скушает великий Ктулху на обед, в зависимости от текущего времени. Сделать скорости настраиваемыми.
  7. Обезьянка Майя собирала в джунглях N связок с бананами. Обезьянка очень привередливая и собирала только те связки бананов, где ровно M бананов. Известно, чтоб выжить во время нападения гнусных бабуинов ей надо спрятаться и скушать не менее K бананов. Определите, хватит ли обезьянке Майе бананов, чтоб пересидеть нападение гнусных бабуинов. Выведите YES, если она переживет нападение, и NO если ей придется жевать камни от голода.
  8. Ведьмаки Геральт и Ламберт плывут в лодке. После того, как Геральт спел песенку, которая не понравилась Ламберту, они решили поспорить, кто из них победил больше нильфгаардцев. Геральт заявил, что он победил N нильфгаардцев за 2 часа, а Ламберт - что он сразил M нильфгардцев за 3 часа. Напишите программу, которая определит, кто из этой парочки лучше и быстрее сражается сражается.

Циклы и функции

  1. Для заданного числа N написать программу, которая рассчитывает сумму чисел от 1 до N.
  2. Для заданного числа N написать программу, которая рассчитывает N!.
  3. Для заданного числа N написать программу, которая выводит первые N чисел Фибоначчи.
  4. Написать функцию FizzBuzz, которая для заданного интервала от 1 до N выводит числа из этого интервала следующим образом. Если число делится нацело на 3 - выводится Fizz, если на 5 - выводится Buzz, если на 3 и на 5 - FizzBuzz, а иначе выводится само число.
  5. Наруто Узумаки и Саске Учиха решили посоревноваться, кто из них лучше угадывает числа. Мудрый учитель Дзирайя загадывает каждому герою случайное число в диапазоне от 1 до N. Сперва отгадывает Наруто. Дзирайя может отвечать лишь словами Больше, Меньше либо Угадал. Вторым по очереди угадывает Саске. Написать программу, в которой вы сможете сыграть и за Наруто, и за Саске, и узнать, кто из них угадал число быстрее.

Массивы

  1. Написать функцию, которая для заданного массива arr выводит его минимальный элемент.
  2. Написать функцию, которая для заданного массива arr выводит индекс его максимального элемента.
  3. Написать функцию, которая сортирует заданный массив arr методом Пузырька.
  4. Написать функцию, которая сортирует заданный массив arr методом вставок.
  5. Написать функцию, которая сортирует заданный массив arr методом сортировки выбором.
  6. Написать функцию, которая находит максимальный и минимальный элементы заданного массива.
  7. Написать функцию, реализующую быструю сортировку заданного массива.

Двумерные массивы

  1. Реализовать функцию, выполняющую произведение двух матриц A и B.
  2. Реализовать функцию, выполняющую транспонирование переданной матрицы A.
  3. Реализовать функцию, которая заполняет массив размера NxN ёлочкой:
    N = 5
    ----
    1
    2 3
    4 5 6
    7 8 9 10
    11 12 13 14 15 
    ----
    
  4. Реализовать функцию, которая заполняет массив размера NxN змейкой:
    N = 5
    ----
    1   2   3   4   5
    10  9   8   7   6
    11  12  13  14  15
    20  19  18  17  16
    21  22  23  24  25
    ----
    
  5. Реализовать функцию, которая заполняет массив размера NxN спиралькой:
    N = 5
    ----
    1   2   3   4   5
    16  17  18  19  6 
    15  24  25  20  7   
    14  23  22  21  8
    13  12  11  10  9
    ----
    

Рекурсия

  1. Реализовать рекурсивную функцию расчёта факториала заданного числа N.
  2. Реализовать рекурсивную функцию расчёта N-го заданного числа Фибоначчи.
  3. Дано натуральное число N. Вычислите сумму его цифр.
  4. Дано слово, состоящее только из строчных латинских букв. Проверьте, является ли это слово палиндромом. Выведите YES или NO.

Объекты

  1. Реализовать класс Triangle, в нем реализовать методы equals, hashCode, геттеры и сеттеры, конструктор.
  2. Реализовать класс Circle, в нем реализовать методы equals, hashCode, геттеры и сеттеры, конструктор.
  3. Реализовать класс Rectangle, в нем реализовать методы equals, hashCode, геттеры и сеттеры, конструктор.
К началу