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
24 changes: 23 additions & 1 deletion src/main/kotlin/ru/otus/homework/fizzbuzz.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,27 @@ package ru.otus.homework


fun fizzbuzz(n: Int): Array<String> {
TODO("Выполните задание")
// создаём массив Integers, размером n
var i = 0
val arrOfIntegers = Array(n) { i++ }

// создаём массив Strings, размером n
val arrOfStrings = Array(n) {""} //emptyArray<String>() //

// итерация по массиву 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
}
24 changes: 23 additions & 1 deletion src/main/kotlin/ru/otus/homework/sumoftwo.kt
Original file line number Diff line number Diff line change
@@ -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
}