Практика 2021 (05.07)
Каравелков Дмитрий Сергеевич
Задача 1
<a href="https://www.codewars.com/kata/55685cd7ad70877c23000102">Return negative 8qyu</a>
Вернуть Отрицательное значение
В этом простом задании вам дается число, и вы должны сделать его отрицательным. Но, может быть, число уже отрицательное?
Решение на языке c++.
```c++=
int makeNegative(int num)
{
if(num < 0) return num;
else if(num > 0) return num * (-1);
else return 0;
}
```
Решение на языке java.
```java=
public class Kata
{
public static int makeNegative(final int x)
{
if(x < 0) return x;
else if(x > 0) return x * (-1);
else return 0;
}
}
```
Задача 2
<a href="https://www.codewars.com/kata/5861d28f124b35723e00005e">Will you make it? 8qyu</a>
Доедем ли мы?
Вы были в походе с друзьями вдали от дома, но когда пришло время возвращаться, вы понимаете, что у вас заканчивается топливо, а ближайший насос находится в 50 милях от дома! Вы знаете, что в среднем ваша машина проезжает около 25 миль на галлон. Осталось 2 галлона. Учитывая эти факторы, напишите функцию, которая сообщит вам, можно ли добраться до помпы или нет. Функция должна возвращать истину , если это возможно, и ложь , если нет. Входные значения всегда положительны.
Решение на языке c++.
```c++=
bool zero_fuel(uint32_t distance_to_pump, uint32_t mpg, uint32_t fuel_left)
{
uint32_t c = mpg*fuel_left;
if(distance_to_pump <= c)return true;
else return false;
}
```
Решение на языке java.
```java=
public class Kata
{
public static boolean zeroFuel(double distanceToPump, double mpg, double fuelLeft) {
double c = fuelLeft*mpg;
if(distanceToPump <= c)return true;
else return false;
}
}
```
Задача 3
<a href="https://www.codewars.com/kata/53ee5429ba190077850011d4">You Can't Code Under Pressure #1 8qyu</a>
Кодируйте так быстро, как только можете! Вам нужно удвоить целое число и вернуть его.
Решение на языке c++.
```c++=
#include <cstdint>
int32_t double_integer(int32_t n)
{
n = n * 2;
return n;
}
```
Решение на языке java.
```java=
class Java
{
public static int doubleInteger(int i) {
i = i * 2;
return i;
}
}
```
Задача 4
<a href="https://www.codewars.com/kata/55192f4ecd82ff826900089e">Watermelon #1 8qyu</a>
Слишком жарко, а они даже не могут…
В один жаркий летний день Пит и его друг Билли решили купить арбузы. Они выбрали самый большой ящик. Они бросились домой, умирая от жажды, и решили разделить добычу, однако столкнулись с трудной проблемой.
Пит и Билли - большие любители четных чисел, поэтому они хотят разделить количество арбузов таким образом, чтобы каждая из двух частей состояла из четного числа арбузов. Однако не обязательно, чтобы части были равны.
Пример: мальчики могут разделить стопку из 8 арбузов на 2 + 6 арбузов или 4 + 4 арбуза.
Мальчики очень устали и хотят как можно скорее приступить к трапезе, поэтому вы должны помочь им и узнать, смогут ли они разделить фрукты так, как им хочется. Конечно, каждый из них должен получить часть положительного веса.
Решение на языке c++.
```c++=
bool divide(unsigned weight)
{
if(weight < 3) return false;
else if(weight%2 == 0)return true;
else return false;
}
```
Решение на языке java.
```java=
public class Kata
{
public static boolean divide(int weight) {
if(weight < 3) return false;
else if(weight%2 == 0)return true;
else return false;
}
}
```