diff --git a/task01/src/com/example/task01/Task01.java b/task01/src/com/example/task01/Task01.java index f3c626eb8..fff7efcfd 100644 --- a/task01/src/com/example/task01/Task01.java +++ b/task01/src/com/example/task01/Task01.java @@ -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()); } } diff --git a/task02/src/com/example/task02/Task02.java b/task02/src/com/example/task02/Task02.java index e09621d98..efe5dcfe7 100644 --- a/task02/src/com/example/task02/Task02.java +++ b/task02/src/com/example/task02/Task02.java @@ -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); - */ } } diff --git a/task03/src/com/example/task03/Task03.java b/task03/src/com/example/task03/Task03.java index 1b150447a..9840cd718 100644 --- a/task03/src/com/example/task03/Task03.java +++ b/task03/src/com/example/task03/Task03.java @@ -6,7 +6,7 @@ public static int getMetreFromCentimetre(int centimetre) { // TODO напишите здесь свою корректную реализацию этого метода, вместо сеществующей - return 0; + return centimetre/100; } public static void main(String[] args) { diff --git a/task04/src/com/example/task04/Task04.java b/task04/src/com/example/task04/Task04.java index 84d94a730..afe09d26b 100644 --- a/task04/src/com/example/task04/Task04.java +++ b/task04/src/com/example/task04/Task04.java @@ -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); - */ + } } diff --git a/task05/src/com/example/task05/Task05.java b/task05/src/com/example/task05/Task05.java index df61b168d..14532b750 100644 --- a/task05/src/com/example/task05/Task05.java +++ b/task05/src/com/example/task05/Task05.java @@ -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) { diff --git a/task06/src/com/example/task06/Task06.java b/task06/src/com/example/task06/Task06.java index c532b65ee..da72e5374 100644 --- a/task06/src/com/example/task06/Task06.java +++ b/task06/src/com/example/task06/Task06.java @@ -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); - */ + } } diff --git a/task07/src/com/example/task07/Task07.java b/task07/src/com/example/task07/Task07.java index 5e3f2b225..e7bd5e042 100644 --- a/task07/src/com/example/task07/Task07.java +++ b/task07/src/com/example/task07/Task07.java @@ -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); - */ - } -} + + + + } +} \ No newline at end of file diff --git a/task08/src/com/example/task08/Task08.java b/task08/src/com/example/task08/Task08.java index e0a5cb0ff..a44666cc3 100644 --- a/task08/src/com/example/task08/Task08.java +++ b/task08/src/com/example/task08/Task08.java @@ -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; } diff --git a/task09/src/com/example/task09/Task09.java b/task09/src/com/example/task09/Task09.java index 2c6d1f834..d4e9ee121 100644 --- a/task09/src/com/example/task09/Task09.java +++ b/task09/src/com/example/task09/Task09.java @@ -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; } diff --git a/task10/src/com/example/task10/Task10.java b/task10/src/com/example/task10/Task10.java index ad8eedab6..c78756d12 100644 --- a/task10/src/com/example/task10/Task10.java +++ b/task10/src/com/example/task10/Task10.java @@ -1,4 +1,6 @@ package com.example.task10; +import static java.lang.Math.abs; + public class Task10 { @@ -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; } diff --git a/task11/src/com/example/task11/Task11.java b/task11/src/com/example/task11/Task11.java index 47b80595a..31c37eed5 100644 --- a/task11/src/com/example/task11/Task11.java +++ b/task11/src/com/example/task11/Task11.java @@ -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) { diff --git a/task12/src/com/example/task12/Task12.java b/task12/src/com/example/task12/Task12.java index 12da72ee7..06011ec30 100644 --- a/task12/src/com/example/task12/Task12.java +++ b/task12/src/com/example/task12/Task12.java @@ -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) { diff --git a/task13/src/com/example/task13/Task13.java b/task13/src/com/example/task13/Task13.java index a3ea65e2c..0e707dd7a 100644 --- a/task13/src/com/example/task13/Task13.java +++ b/task13/src/com/example/task13/Task13.java @@ -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); - */ + } } diff --git a/task14/src/com/example/task14/Task14.java b/task14/src/com/example/task14/Task14.java index 5f07aaab3..951c1da37 100644 --- a/task14/src/com/example/task14/Task14.java +++ b/task14/src/com/example/task14/Task14.java @@ -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) {