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 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