Освой Kotlin играючи

Сайт Александра Климова

Шкодим

/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000

Задачки

Посчитать число цифр в числе.


var number: Int = 4519 // какое-то число
var count = 0 // счётчик 

while (number > 0) {
    count++
    number /= 10
}

println("Количество цифр в числе: $count")

Создать список чисел от 1 до 10, перемешать их, удалить чётные числа, умножить оставшиеся числа на 2, отсортировать по возрастанию.

Процедурный способ.


        // перемешиваем числа от 1 до 10
        val numbers = (1..10).shuffled().toMutableList()

        // удаляем чётные числа
        var index = 0
        while (index < numbers.count()) {
            if (numbers[index] % 2 == 0) {
                numbers.removeAt(index)
            } else {
                index += 1
            }
        }

        // умножаем на 2
        for (i in numbers.indices) {
            numbers[i] = numbers[i] * 2
        }

        // сортируем по возрастанию
        for (i in (1 until numbers.count())) {
            val temp = numbers[i]
            var swap = i
            while (swap > 0 && numbers[swap - 1] > temp) {
                numbers[swap] = numbers[swap - 1]
                --swap
            }
            numbers[swap] = temp
        }

        // выводим результат
        for (num in numbers) {
            println(num)
        }

Функциональный способ.


// перемешиваем числа от 1 до 10
val numbers = (1..10).shuffled()

// удаляем чётные числа
val oddNumbers = numbers.filter { it % 2 != 0 }

// умножаем на 2
val doubledNumbers = oddNumbers.map { it * 2 }

// сортируем по возрастанию
val sortedNumbers = doubledNumbers.sorted()

// выводим результат
sortedNumbers.forEach { println(it) }
Реклама