From f5c0f1a714369a97d28f4b021e60a787038b07f9 Mon Sep 17 00:00:00 2001 From: Dmitriy Bulygin Date: Thu, 14 Aug 2025 15:39:48 +0300 Subject: [PATCH 1/2] added solution to the problem fizzbuzz --- src/main/kotlin/ru/otus/homework/fizzbuzz.kt | 24 +++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/ru/otus/homework/fizzbuzz.kt b/src/main/kotlin/ru/otus/homework/fizzbuzz.kt index 6e04be1..bfc81ca 100644 --- a/src/main/kotlin/ru/otus/homework/fizzbuzz.kt +++ b/src/main/kotlin/ru/otus/homework/fizzbuzz.kt @@ -2,5 +2,27 @@ package ru.otus.homework fun fizzbuzz(n: Int): Array { - TODO("Выполните задание") + // создаём массив Integers, размером n + var i = 0 + val arrOfIntegers = Array(n) { i++ } + + // создаём массив Strings, размером n + val arrOfStrings = Array(n) {""} //emptyArray() // + + // итерация по массиву arrOfIntegers, наполняем массив согласно заданию + for ((i, v) in arrOfIntegers.withIndex()) { + val value: String = if (i == 0 || (i % 3 == 0 && i % 5 == 0)) { + "FizzBuzz" + } else if (i % 3 == 0) { + "Fizz" + } else if (i % 5 == 0) { + "Buzz" + } else { + v.toString() + } + + arrOfStrings[i] = value + } + + return arrOfStrings } \ No newline at end of file From 05176e0b7f0adc27d941cb090a76d649375e6a4b Mon Sep 17 00:00:00 2001 From: Dmitriy Bulygin Date: Thu, 14 Aug 2025 15:40:16 +0300 Subject: [PATCH 2/2] added solution to the problem sumOfTwo --- src/main/kotlin/ru/otus/homework/sumoftwo.kt | 24 +++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/ru/otus/homework/sumoftwo.kt b/src/main/kotlin/ru/otus/homework/sumoftwo.kt index 70d72e5..1efa71f 100644 --- a/src/main/kotlin/ru/otus/homework/sumoftwo.kt +++ b/src/main/kotlin/ru/otus/homework/sumoftwo.kt @@ -1,6 +1,28 @@ package ru.otus.homework +import kotlin.IllegalArgumentException + fun sumOfTwo(numbers: IntArray, target: Int): IntArray { - TODO("Выполните задание") + // определеим массив целых чисел для возвращения результата согласно заданию, размерностью 2 + val intArray = IntArray(2) + var sumOfValues = 0 + + /* организуем логику следующим образом: + * если не конец цикла, возьмём первое значение масива и сложим со вторым, потом с третьим и т.д. до конца массива. + * переходим к следующему значению, складывать с предыдущим смысла нет, т.к. данная операция уже была, + * складываем сразу со значением по индексу i+1, и т.д. + * когда дошли до конца, и не получили результат, выходим по исключению + * */ + loop1@ for (i in 0 .. numbers.size) { + for (j in i + 1 .. numbers.size - 1) { + sumOfValues = numbers[i] + numbers[j] + if (sumOfValues != target) continue + intArray[0] = i + intArray[1] = j + break@loop1 + } + } + + return if (sumOfValues != target) throw IllegalArgumentException("The array of numbers does not have any values whose sum equals the target value.") else intArray } \ No newline at end of file