Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 2 additions & 7 deletions task01/src/com/example/task01/Task01.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,11 @@ public static String solution() {

// TODO напишите здесь свою корректную реализацию этого метода, вместо сеществующей

return "здесь какая-то неправильная строка";
return "Я думаю, быть программистом - это круто";
}

public static void main(String[] args) {
// Здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат
// например вот так:
/*
String result = solution();
System.out.println(result);
*/
System.out.println(solution());
}

}
17 changes: 10 additions & 7 deletions task02/src/com/example/task02/Task02.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,20 @@ public class Task02 {
public static String solution(String input) {

// TODO напишите здесь свою корректную реализацию этого метода, вместо сеществующей

return "";
long number = Long.parseLong(input);
if (number >= Byte.MIN_VALUE && number <= Byte.MAX_VALUE)
return "byte";
else if (number >= Short.MIN_VALUE && number <= Short.MAX_VALUE)
return "short";
else if (number >= Integer.MIN_VALUE && number <= Integer.MAX_VALUE)
return "int";
else
return "long";
}

public static void main(String[] args) {
// Здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат
// например вот так:
/*
String result = solution("12345");
String result = solution("77777");
System.out.println(result);
*/
}

}
2 changes: 1 addition & 1 deletion task03/src/com/example/task03/Task03.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ public static int getMetreFromCentimetre(int centimetre) {

// TODO напишите здесь свою корректную реализацию этого метода, вместо сеществующей

return 0;
return centimetre/100;
}

public static void main(String[] args) {
Expand Down
18 changes: 14 additions & 4 deletions task04/src/com/example/task04/Task04.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,27 @@ public class Task04 {
public static float calculate(int a, int b, String operation) {

// TODO напишите здесь свою корректную реализацию этого метода, вместо сеществующей

return 0;
switch (operation) {
case "+":
return a + b;
case "-":
return a - b;
case "/":
return (float) a / b;
case "*":
return a * b;
default:
return 0;
}
}

public static void main(String[] args) {
// Здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат
// например вот так:
/*

float result = calculate(-25, 5, "/");
System.out.println(result);
*/

}

}
7 changes: 6 additions & 1 deletion task05/src/com/example/task05/Task05.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,13 @@ public class Task05 {
public static String solution(int x) {

// TODO напишите здесь свою корректную реализацию этого метода, вместо сеществующей
String num = String.valueOf(x);
for (int i = 0; i < num.length(); i++){
if (num.charAt(i)%2 == 1)
return "FALSE";
}

return "FALSE";
return "TRUE";
}

public static void main(String[] args) {
Expand Down
15 changes: 9 additions & 6 deletions task06/src/com/example/task06/Task06.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,21 @@ public class Task06 {

public static int solution(int x, int y) {

// TODO напишите здесь свою корректную реализацию этого метода, вместо сеществующей

return 0;
int z = x + y;
if (z<0)
z = String.valueOf(z).length()-1;
else
z = String.valueOf(z).length();
return z;
}

public static void main(String[] args) {
// Здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат
// например вот так:
/*
int result = solution(12, 34);

int result = solution(1225, 8775);
System.out.println(result);
*/

}

}
15 changes: 6 additions & 9 deletions task07/src/com/example/task07/Task07.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,13 @@ public static int solution(int n, int m, int k) {

// TODO напишите здесь свою корректную реализацию этого метода, вместо сеществующей

return 0;
return ((n/k) * (m/k));
}

public static void main(String[] args) {
// Здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат
// например вот так:
/*
int result = solution(10, 20, 5);
System.out.println(result);
*/
}

}



}
}
2 changes: 1 addition & 1 deletion task08/src/com/example/task08/Task08.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ public class Task08 {
public static boolean solution() {
// TODO измените тип и значение переменной x, чтобы возвращалось значение true

int x = 100;
float x = Float.POSITIVE_INFINITY;
return x == x + 1;
}

Expand Down
2 changes: 1 addition & 1 deletion task09/src/com/example/task09/Task09.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ public static double solution() {

float a = 1.0f;
float b = 3.0f;
double x = (a / b - 1.0 / 3.0) * 1.0e9;
double x = ((double)a / b - 1.0 / 3.0) * 1.0e9;

return x;
}
Expand Down
15 changes: 13 additions & 2 deletions task10/src/com/example/task10/Task10.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
package com.example.task10;
import static java.lang.Math.abs;


public class Task10 {

Expand All @@ -7,8 +9,17 @@ public static boolean compare(float a, float b, int precision) {
// TODO корректно сравнивать два значения типа float с заданной пользователем точностью (параметр - количество знаков после запятой).
// Функция должна корректно обрабатывать ситуацию со сравнением значений бесконечности.
// Функция должна считать значения «не число» NaN (например 0.0/0.0) равными между собой.

return a == b;
if (Float.isInfinite(a) && Float.isInfinite(b)) {
return a == b; // Обе бесконечности равны, если одного знака.
}
if (Float.isNaN(a) && Float.isNaN(b)) {
return true; // NaN считается равным NaN.
}
if (Float.isNaN(a) || Float.isNaN(b) || Float.isInfinite(a) || Float.isInfinite(b)) {
return false; // NaN не равен числу или бесконечности, число не равно бесконечности.
}
double epsilon = Math.pow(10, -precision);
return abs(a - b) < epsilon;

}

Expand Down
11 changes: 5 additions & 6 deletions task11/src/com/example/task11/Task11.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,12 @@ public class Task11 {

public static float benefit(float sum, float percent) {

// TODO исправьте функцию, чтобы избежать накопления ошибки
// Вычисляем итоговую сумму по формуле сложных процентов
// A = P * (1 + r)^n
// где A - итоговая сумма, P - начальная сумма, r - процентная ставка, n - количество периодов

// Считаем проценты за год
for (int i = 1; i <= 12; i++) {
sum += sum * percent;
}
return sum;
// В нашем случае n = 12 (12 месяцев)
return (float) (sum * Math.pow((double)1.0f + percent, 12));
}

public static void main(String[] args) {
Expand Down
21 changes: 13 additions & 8 deletions task12/src/com/example/task12/Task12.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,27 @@

import java.math.BigDecimal;


public class Task12 {

public static BigDecimal benefit(BigDecimal sum, BigDecimal percent) {

// TODO раскомментируйте и исправьте код
BigDecimal one = new BigDecimal("1.0");
int scale = 9;

// Применяем формулу сложных процентов: A = P * (1 + r)^n
// где n = 12 месяцев.

// Считаем проценты за год
// Вычисляем (1 + r)
BigDecimal factor = one.add(percent);

/*
for (int i = 1; i <= 12; i++) {
sum += sum * percent;
}
return sum;
*/
// Вычисляем (1 + r)^12 с помощью метода pow
BigDecimal totalFactor = factor.pow(12);

return BigDecimal.ZERO;
// Умножаем начальную сумму на общий множитель и округляем результат.
// Используем константу округления напрямую, без переменной.
return sum.multiply(totalFactor).setScale(scale, BigDecimal.ROUND_HALF_UP);
}

public static void main(String[] args) {
Expand Down
8 changes: 4 additions & 4 deletions task13/src/com/example/task13/Task13.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,17 @@ public class Task13 {
public static char toUpperCase(char c) {

// TODO привести букву к верхнему регистру

c -= (char)32;
return c;
}

public static void main(String[] args) {
// Здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат
// например вот так:
/*
char result = solution('x');

char result = toUpperCase('x');
System.out.println(result);
*/

}

}
3 changes: 2 additions & 1 deletion task14/src/com/example/task14/Task14.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ public static int reverse(int value) {

// TODO напишите здесь код, переставляющий цифры числа в обратном порядке

return 0;
String a = new StringBuilder(String.valueOf(value)).reverse().toString();
return Integer.parseInt(a);
}

public static void main(String[] args) {
Expand Down