Skip to content

Commit 57b27e5

Browse files
committed
Задание 2
1 parent 2a0f69b commit 57b27e5

File tree

1 file changed

+106
-0
lines changed

1 file changed

+106
-0
lines changed

lesson02/2L_RaskinSergey.swift

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
//
2+
// main.swift
3+
// 2l_RaskinSergey
4+
//
5+
// Created by raskin-sa on 17/11/2019.
6+
// Copyright © 2019 raskin-sa. All rights reserved.
7+
//
8+
9+
import Foundation
10+
11+
func IsEven(in_digit:Int)->Bool
12+
{
13+
if in_digit%2 == 0{
14+
return true
15+
}
16+
else{
17+
return false
18+
}
19+
}
20+
21+
func IsDividedByThree (in_digit:Int)->Bool{
22+
if in_digit%3 == 0{
23+
return true
24+
}
25+
else{
26+
return false
27+
}
28+
}
29+
30+
//добавляем число Фибоначчи в массив на входе
31+
func add_fib(input_array:[Double])->[Double]
32+
{
33+
var fib_1: Double
34+
var fib_2: Double
35+
var fib_sum: Double
36+
let fib_max_index:Int = input_array.count
37+
var new_array : [Double] = input_array
38+
39+
fib_1 = input_array[fib_max_index-1]
40+
fib_2 = input_array[fib_max_index-2]
41+
//print("fib_1= " + String(fib_1)+" fib_2= " + String(fib_2))
42+
fib_sum = fib_1 + fib_2
43+
new_array.append(fib_sum)
44+
45+
return new_array
46+
}
47+
48+
///
49+
///ТЕЛО ПРОГРАММЫ
50+
///
51+
////
52+
53+
print("Создаем массив от 1 до 100 с удаленными четными числами и числами, не делящимися на 3")
54+
//создаем массив из 100 чисел
55+
var workarray = [Int]()
56+
var i:Int
57+
var maxIndex:Int = 99
58+
59+
for i in (1...100){
60+
workarray.append(i)
61+
}
62+
63+
//удаляем четные числа
64+
for i in (0...99){
65+
if i>maxIndex {
66+
break
67+
}
68+
if IsEven(in_digit: workarray[i]) {
69+
workarray.remove(at:i)
70+
maxIndex -= 1
71+
}
72+
}
73+
74+
//удаляем числа, не делящиеся на 3
75+
i = 0
76+
maxIndex = workarray.count - 1
77+
78+
while i < maxIndex
79+
{
80+
if !(IsDividedByThree(in_digit: workarray[i])){
81+
// print("Удаляем элемент с №: " + String(i) + " его значение = " + String(workarray[i]))
82+
workarray.remove(at:i)
83+
maxIndex -= 1
84+
}else{
85+
i += 1
86+
}
87+
}
88+
89+
print(workarray)// это массив от 1 до 100 с удаленными четными числами и числами, не делящимися на 3
90+
91+
92+
//создаем новый пустой массив Double для 100 чисел Фибоначчи
93+
//в Int - не помещается
94+
var curr_array = [Double]()
95+
var prev_array :[Double] = [1,2]
96+
97+
print("добавляем 100 чисел Фибоначчи")
98+
99+
for _ in (1...100){
100+
curr_array = add_fib(input_array:prev_array)
101+
prev_array = curr_array
102+
}
103+
print(curr_array)
104+
105+
106+

0 commit comments

Comments
 (0)