diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..1e2f90a Binary files /dev/null and b/.DS_Store differ diff --git a/1l_ChukarkovKonstantin.playground/Contents.swift b/1l_ChukarkovKonstantin.playground/Contents.swift new file mode 100644 index 0000000..5f25580 --- /dev/null +++ b/1l_ChukarkovKonstantin.playground/Contents.swift @@ -0,0 +1,54 @@ +import UIKit + +// 1) квадратное уравнение вида: ax^2+bx+c=0. + +func radicalEquation(a: Double, b: Double, c: Double){ + let a: Double = a + let b: Double = b + let c: Double = c + let discriminant = (b*b)-(4*a*c) + + if a == 0 { + let radical: Double = (-1*c)/b + print("У уравнения один корень и он равен \(radical)") + }else if discriminant < 0 { + print("У уравнения корней нет") + }else if discriminant == 0 { + let radical = (-1*b)/(2*a) + print("У вашего уравнения один корень и он равен \(radical)") + }else if discriminant > 0 { + let radicalOne: Double = ((-1*b)+sqrt(discriminant)/(2*a)) + let radicalTwo: Double = ((-1*b)-sqrt(discriminant)/(2*a)) + print("У вашего уравнения 2 корня \(radicalOne) и \(radicalTwo)") + } +} +radicalEquation(a: 1, b: -8, c: 15) + +// 2) Прямоугольный треугольник, где а и b его катеты. + +func rightTriangle(a: Double, b: Double){ + let a: Double = a + let b: Double = b + let square: Double = a*b/2 + let c: Double = sqrt((a*a)+(b*b)) + let p: Double = a+b+c + print("Плошадь треугольника равна \(square), длина гипотенузы равна \(c), периметр треуголька равен \(p)") +} +rightTriangle(a: 3, b: 4) + +// 3) Вклад на n лет, под percent процентов годовых от sum суммы. + +func vklad(sum: Double, percent: Double, n: Int){ + var sum: Double = sum + let percent = percent + let n: Int = n + var i: Int = 1 + while i <= n { + let totalPercent: Double = 1+(percent/100) + sum = sum*totalPercent + i += 1 + } + sum = (sum*100).rounded(.toNearestOrAwayFromZero)/100 + print("Сумма вклада через \(n) лет равна \(sum)") +} +vklad(sum: 10000, percent: 13, n: 5) diff --git a/1l_ChukarkovKonstantin.playground/contents.xcplayground b/1l_ChukarkovKonstantin.playground/contents.xcplayground new file mode 100644 index 0000000..5da2641 --- /dev/null +++ b/1l_ChukarkovKonstantin.playground/contents.xcplayground @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/1l_ChukarkovKonstantin.playground/playground.xcworkspace/contents.xcworkspacedata b/1l_ChukarkovKonstantin.playground/playground.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/1l_ChukarkovKonstantin.playground/playground.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/1l_ChukarkovKonstantin.playground/playground.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/1l_ChukarkovKonstantin.playground/playground.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/1l_ChukarkovKonstantin.playground/playground.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/1l_ChukarkovKonstantin.playground/playground.xcworkspace/xcuserdata/konstantin.xcuserdatad/UserInterfaceState.xcuserstate b/1l_ChukarkovKonstantin.playground/playground.xcworkspace/xcuserdata/konstantin.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..47c998e Binary files /dev/null and b/1l_ChukarkovKonstantin.playground/playground.xcworkspace/xcuserdata/konstantin.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/1l_ChukarkovKonstantin.playground/timeline.xctimeline b/1l_ChukarkovKonstantin.playground/timeline.xctimeline new file mode 100644 index 0000000..2eb794f --- /dev/null +++ b/1l_ChukarkovKonstantin.playground/timeline.xctimeline @@ -0,0 +1,11 @@ + + + + + + + diff --git a/2l_ChukarkovKonstantin.playground/Contents.swift b/2l_ChukarkovKonstantin.playground/Contents.swift new file mode 100644 index 0000000..dbcf1c6 --- /dev/null +++ b/2l_ChukarkovKonstantin.playground/Contents.swift @@ -0,0 +1,92 @@ +import UIKit + +// 1-2) Определение делится ли число a на число b без остатка. Через bool сделал для решения одного вариант из 4 задания. + + +func evenOdd (a: Int, b: Int) -> Bool { + let a = a + let b = b + let c = a%b + if c == 0{ + return true + } else { + return false + } +} + +// Проверка 1-ого задания + +var a = 9 +var b = 2 + +if (evenOdd(a: a, b: b)) == true { + print("Число \(a) четное!") +} else { + print("Число \(a) нечетное!") +} + +// Проверка 2-ого задания + +a = 11 +b = 3 + +if (evenOdd(a: a, b: b)) == true { + print("Число \(a) кратно \(b)") +} else { + print("Число \(a) не делится на \(b) без остатка") +} + + +// 3) Возрастающий массив до 100. + +var upArray = Array (1...100) +print(upArray) + +// 4) Удаление из массива всех четных чисел и всех, которые не делятся на 3. + + + +var newArray = [Int]() +for _ in upArray{ + let i = upArray.removeFirst() + if evenOdd(a: i, b: 2) == false { + newArray.append(i) + } +} +for _ in newArray{ + let i = newArray.removeFirst() + if evenOdd(a: i, b: 3) == true { + upArray.append(i) + } +} +print(upArray) +// 4) Короткий вариант удаления нужных чисел. + +upArray = Array (1...100) +upArray = upArray.filter(){$0 % 2 != 0 && $0 % 3 == 0} +print(upArray) + +// 5) Функция добавляющая в массив новое число Фибаначи. Добавляет n-элементов( оставил пока n = 15 что бы не грузить cильно при проверках следющего кода) + +func fib (n: Int) -> [Double] { + var fibonacciArray: [Double] = [1, 1] + (2...n).forEach {i in fibonacciArray.append(fibonacciArray[i-1] + fibonacciArray[i-2])} + return fibonacciArray +} +print(fib(n: 100)) + +// 6) Функция выдает массив из простых чисел вплоть до числа n. + + +func eratos (nArray: [Int]) -> [Int]{ + var er = [Int]() + var newArr = nArray + while let p = newArr.first { + er.append(p) + newArr = newArr.filter(){$0 % p != 0} + } + return er +} +print(eratos(nArray: Array(2...100))) + + diff --git a/2l_ChukarkovKonstantin.playground/contents.xcplayground b/2l_ChukarkovKonstantin.playground/contents.xcplayground new file mode 100644 index 0000000..5da2641 --- /dev/null +++ b/2l_ChukarkovKonstantin.playground/contents.xcplayground @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/2l_ChukarkovKonstantin.playground/playground.xcworkspace/contents.xcworkspacedata b/2l_ChukarkovKonstantin.playground/playground.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/2l_ChukarkovKonstantin.playground/playground.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/2l_ChukarkovKonstantin.playground/playground.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/2l_ChukarkovKonstantin.playground/playground.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/2l_ChukarkovKonstantin.playground/playground.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/2l_ChukarkovKonstantin.playground/playground.xcworkspace/xcuserdata/konstantin.xcuserdatad/UserInterfaceState.xcuserstate b/2l_ChukarkovKonstantin.playground/playground.xcworkspace/xcuserdata/konstantin.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..1a04810 Binary files /dev/null and b/2l_ChukarkovKonstantin.playground/playground.xcworkspace/xcuserdata/konstantin.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/2l_ChukarkovKonstantin.playground/timeline.xctimeline b/2l_ChukarkovKonstantin.playground/timeline.xctimeline new file mode 100644 index 0000000..d8a8097 --- /dev/null +++ b/2l_ChukarkovKonstantin.playground/timeline.xctimeline @@ -0,0 +1,21 @@ + + + + + + + + + + +