Дедлайн: 2021-11-05.
Вводятся вещественные координаты x,y точки
Вывести INSIDE, если точка находится внутри многоугольника (или на границе) с вершинами (0,1) (3,0) (-2,0) (-10,-10) (0,-1) и OUTSIDE, если точка вне многоугольника.
Дедлайн: 2021-11-05.
Вводится целое положительное число. Если в нём три цифры, вывести их сумму, иначе вывести само число.
Дедлайн: 2021-11-05.
Вводится целое положительное число N (1 <= N <= 10000
).
Вывести сумму первых N простых чисел.
5
28
(2+3+5+7+11 = 28)
Дедлайн: 2021-11-05.
Вводится целое положительное число N (1 <= N <= 10000
).
Вывести сумму первых N совершенных чисел.
Дедлайн: 2021-11-05.
Вводится число K. Вводятся целые положительные числа, ввод заканчивается 0. Вывести YES, если есть число, сумма степеней в разложении на простые которого больше K. Иначе NO
4
2 108 3 0
YES
-----------
5
2 108 3 0
NO
Вводятся целые числа, ввод завершается 0.
Вывести второй по величине элемент (элемент, не меньше всех остальных, но строго меньше максимального)
Если такого нет, вывести NO.
1 2 3 2 3 1 0
2
---
-4 -2 -1 -2 -1 -2 -3 0
-2
Вводятся целые числа, ввод завершается 0.
Вывести сумму чисел между первым максимумом и вторым максимумом. Если таких нет, вывести NO
1 2 3 2 3 1 1 1 3 -1 0
2
Вводятся целые числа, ввод завершается 0.
Вывести сумму чисел между первым максимальным и последним минимальным, включая сами минимум и максимум. Если таких нет, вывести NO. Если минимум находится до максимума, вывести 0
1 3 2 3 -1 2 -1 1 2 0
8
---
-1 1 2 3 0
0
---
0
NO
Вводится целое число N
.
Вывести N+1
число через пробел: биномиальные коэффициенты C_N^K
для K=0, 1, ..., N
.
Биномиальные коэффициенты вычислять используя рекуррентные соотношения
C_N^0 = C_N^N = 1
C_N_K = C_{N-1}^K + C_{N-1}^{K-1}
Вводятся целые числа N
и M
.
Заполнить двумерный массив размера N x M
по спирали, начиная с 1 по часовой стрелке от левого верхнего угла (см. пример).
Вывести его элементы построчно через пробел
3 4
-------------
1 2 3 4
10 11 12 5
9 8 7 6
=============
4 5
-------------
1 2 3 4 5
14 15 16 17 6
13 20 19 18 7
12 11 10 9 8
=============
2 2
-------------
1 2
4 3
Клетки на шахматной доске обозначаются парой координат (каждая от 0 до 7).
Вводится N
.
Вводятся N
фигур в виде тройки
"вертикаль, горизонталь, вид фигуры" (2 - ладья, 3 - слон, 4 - конь).
Вводится M
.
Вводится M
клеток в виде пары "вертикаль, горизонталь".
Для каждой клетки вывести YES
, если она под боем, и NO
, если нет
Клетка, занятая фигурой считается находящейся под боем.
2
1 2 2
6 2 4
3
0 0
7 2
5 4
-------
NO
NO
YES
Написать функцию int convert(int q, int[] a)
, которая получает массив a
с цифрами числа в системе счисления с основанием q
(младший разряд - в элементе с индексом 0) и возвращает число.
(не использовать встроенные функции преобразования)
convert(10, new int[]{1,2,3})
== 321
convert(2, new int[]{1,0,1,1})
== 13
Написать функцию int compare(int q, int[] a, int[] b)
, которая получает два числа (в виде массивов цифр в q-чной системе счисления, младший разряд - в элементе с индексом 0), и возвращает:
- число
-1
, если числоa
меньше числаb
; - число
0
, если числоa
равно числуb
; - число
1
, если числоa
больше числаb
.
Нужно сравнивать цифры числа, не переводя всё число в int
.
Написать функцию int[] remainder(int q, int[] a, int[] b)
, которая получает два неотрицательных числа (в виде массивов цифр в q-чной системе счисления, младший разряд - в элементе с индексом 0), и возвращает остаток от деления числа a на число b.
Нужно выполнять деление, не переводя всё число в int
. Числа a не превосходит 10000000.
Написать класс Cake
(торт на день рождения):
- конструктор
Cake(int n)
с параметром - количеством свечей; конструктор должен создавать массив из свечейCandle
нужного количества с длинами от 1 доn
, по одной свече каждой длины; - метод
void turnOn()
- зажигает все свечи; - метод
void turnOff()
- задувает все свечи; - метод
int getState()
- возвращает, сколько свечей горит.
Вам нужно отправить в репозиторий только Cake.java
с единственном классом Cake
внутри.
Класс Candle
будет доступен, но он не обязательно будет таким же, как в классе. У него будут методы:
Candle(int length)
- создать свечу заданной длиныvoid turnOn()
- зажечь свечуvoid turnOff()
- погасить свечуboolean getState()
- горит ли свеча?
Реализуйте указанные ниже классы и интерфейсы (если вы создаёте класс в отдельном файле F.java
, его лучше описать как public class F { ... }
)
Реализуйте класс Creature
- живое существо. У живого существа есть имя name
, очки жизни hp
и уровень level
.
Живое существо может:
- атаковать противника:
void attack(Creature other)
, при этомhp
противника уменьшаются наlevel
живого существа, а в консоль выводится<name> attacks <other_name>: <other_hp> left
. - быть создано конструктором с параметрами
(String name, int hp)
, при этом начальный уровень равен 1
Унаследуйте от Creature
следующие классы.
Эльфы могут:
- лечить себя
void heal()
или другаvoid heal(Creature friend)
, при этом соответствующийhp
увеличивается на уровень эльфа, а в консоль выводится, соответственно,<name> heals self: <hp>
или<name> heals <friend_name>: <friend_hp>
- быть созданы конструктором с параметрами
(String name)
, начальныйhp
равен 250
Гномы могут:
- улучшать чужое оружие
void upgrade(Creature friend)
, при этом уровень друга увеличивается на 1, а в консоль выводится<name> upgrades <friend_name> to <friend_level>
- быть созданы конструктором с параметрами
(String name)
, начальныйhp
равен 150
Люди могут:
- размножаться
Human reproduce()
, при этом свой уровень делится на два нацело, и половина передаётся потомку, а половина остаётся у родителя. Очки жизниhp
копируются, имя строится как<name>, son of <name>
. В консоль выводится<name> gives birth to <son_name>: <level>
- быть созданы конструктором с параметрами
(String name)
, начальныйhp
равен 100; - знают, сколько всего людей, при помощи метода
static int getPopulation()
.
Реализуйте также следующие интерфейсы.
На лошади могут ездить эльфы и люди.
В интерфейсе есть метод void ride()
, который выводит на экран <name> rides
.
В шахте могут работать гномы и люди.
Интерфейс предоставляет метод void mine()
, который выводит на экран <name> digs
.
Магию могут использовать эльфы и гномы.
Метод void spell()
интерфейса выводит на экран <name> casts a spell
.
Пример программы и её вывода на консоль:
// заходят как-то эльф, гном и человек в бар...
Elf elf = new Elf("Finrod");
Dwarf dwarf = new Dwarf("Gimli");
Human human1 = new Human("Aragorn");
dwarf.upgrade(human1);
dwarf.upgrade(human1);
Human human2 = human1.reproduce();
dwarf.upgrade(elf);
dwarf.upgrade(elf);
elf.heal();
elf.heal(human1);
elf.heal(human2);
Human human3 = human2.reproduce();
System.out.println(Human.getPopulation());
Creature[] friends = new Creature[5];
friends[0] = elf;
friends[1] = dwarf;
friends[2] = human1;
friends[3] = human2;
friends[4] = human3;
Creature orc = new Creature("Unnamed Orc 43134", 10);
for (int i=0; i<2; i++) {
for (Creature friend : friends) {
friend.attack(orc);
}
}
elf.ride();
human1.ride();
human1.mine();
dwarf.mine();
dwarf.spell();
elf.spell();
// объявляется конкурс на лучшую текстовую и киноадаптацию
// (не меньше, чем в трёх сериях) программы на Java и
// её вывода на консоль
Вывод на консоль:
Gimli upgrades Aragorn to 2
Gimli upgrades Aragorn to 3
Aragorn gives birth to Aragorn, son of Aragorn: 1
Gimli upgrades Finrod to 2
Gimli upgrades Finrod to 3
Finrod heals self: 253
Finrod heals Aragorn: 103
Finrod heals Aragorn, son of Aragorn: 103
Aragorn, son of Aragorn gives birth to Aragorn, son of Aragorn, son of Aragorn, son of Aragorn: 0
3
Finrod attacks Unnamed Orc 43134: 7 left
Gimli attacks Unnamed Orc 43134: 6 left
Aragorn attacks Unnamed Orc 43134: 5 left
Aragorn, son of Aragorn attacks Unnamed Orc 43134: 5 left
Aragorn, son of Aragorn, son of Aragorn, son of Aragorn attacks Unnamed Orc 43134: 5 left
Finrod attacks Unnamed Orc 43134: 2 left
Gimli attacks Unnamed Orc 43134: 1 left
Aragorn attacks Unnamed Orc 43134: 0 left
Aragorn, son of Aragorn attacks Unnamed Orc 43134: 0 left
Aragorn, son of Aragorn, son of Aragorn, son of Aragorn attacks Unnamed Orc 43134: 0 left
Finrod rides
Aragorn rides
Aragorn digs
Gimli digs
Gimli casts a spell
Finrod casts a spell