Задачи по Scala с решениями

Задачи по Scala с решениямиscala

Задача 1

Выведите в консоль "itmathrepetitor.ru" N раз.

Задача 2

Дан arr:List[Int]. Повторите каждое значение N раз. Пример: при N=2 список 1 2 4 -> 1 1 2 2 4 4.

Задача 3

Дан arr:List[Int]. Получите список значений из arr, которые меньше данного k, с сохранением порядка этих значений. Пример: при k = 3 список 4 2 3 10 3 1 2 4 -> 2 1 2

Задача 4

Дан список из N целых положительных чисел. Получите список из чисел, находящихся на нечетных позициях с сохранением порядка.

Задача 5

Дан список. Переверните его, не используя стандартную функцию reverse. Пример: 2, 3, 1, 10 -> 10, 1, 3, 2

Задача 6

Найдите сумму нечетных элементов данного списка. Пример: 1, 2, 4, 5, 3 -> 9

Задача 7

Напишите функцию для вычисления n! (факториал) = 1*2*...*(n-1)*n. При этом 0! = 1.

Задача 8

Выведите таблицу умножения от 1 до 10:

1 2 ... 10
2 4 ... 20
.. ... ... ...
10 20 ... 100

Задача 9

Напишите рекурсивную функцию для сортировки списка по возрастанию

Задача 10

Напишите функцию для объединения двух списков (в результате сначала идут элементы первого списка, затем - второго). Пример: append(List(1, 2, 3), List(4, 5)) -> List(1, 2, 3, 4, 5)

Задача 11

Найдите длину данного списка без использования length или эквивалентных стандартных функций.

Задача 12

Дан список. Получите список из модулей значений данного списка.

Задача 13

Напишите метод, который заменяет все вхождения элементов, равных replacing, на элемент replacement.

Решения

Задача 1

def f(n: Int) = for (i <- 1 to n ) { println("itmathrepetitor.ru") }

Задача 2

def f(num: Int, arr: List[Int]): List[Int] = arr.flatMap(List.fill(num)(_))

Задача 3

def f(k: Int, arr: List[Int]): List[Int] = arr.filter(_ < k)

Задача 4

def f(arr: List[Int]): List[Int] = {
arr.zipWithIndex.filter(pair => pair._2 % 2 == 1).map(_._1)
}

Задача 5

Задача 6

def f(arr:List[Int]):Int = {
var s = 0
arr.foreach(x => if (x % 2 != 0) s += x )
s
}

или

def f(arr:List[Int]):Int = {
arr.filter(_%2!=0).sum
}

Задача 7

Задача 8

Задача 9

Задача 10

Задача 11

Задача 12

Задача 13

Задача 14

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *