diff --git a/HNS/Excercises/07082023 Найти простые числа до n/.idea/.gitignore b/HNS/Excercises/07082023 Найти простые числа до n/.idea/.gitignore
new file mode 100644
index 0000000..e69de29
diff --git a/HNS/Excercises/07082023 Найти простые числа до n/.idea/07082023 Найти простые числа до n.iml b/HNS/Excercises/07082023 Найти простые числа до n/.idea/07082023 Найти простые числа до n.iml
new file mode 100644
index 0000000..d0876a7
--- /dev/null
+++ b/HNS/Excercises/07082023 Найти простые числа до n/.idea/07082023 Найти простые числа до n.iml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/HNS/Excercises/07082023 Найти простые числа до n/.idea/inspectionProfiles/profiles_settings.xml b/HNS/Excercises/07082023 Найти простые числа до n/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/HNS/Excercises/07082023 Найти простые числа до n/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/HNS/Excercises/07082023 Найти простые числа до n/.idea/misc.xml b/HNS/Excercises/07082023 Найти простые числа до n/.idea/misc.xml
new file mode 100644
index 0000000..e3d3645
--- /dev/null
+++ b/HNS/Excercises/07082023 Найти простые числа до n/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/HNS/Excercises/07082023 Найти простые числа до n/.idea/modules.xml b/HNS/Excercises/07082023 Найти простые числа до n/.idea/modules.xml
new file mode 100644
index 0000000..2ccc658
--- /dev/null
+++ b/HNS/Excercises/07082023 Найти простые числа до n/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/HNS/Excercises/07082023 Найти простые числа до n/.idea/vcs.xml b/HNS/Excercises/07082023 Найти простые числа до n/.idea/vcs.xml
new file mode 100644
index 0000000..c2365ab
--- /dev/null
+++ b/HNS/Excercises/07082023 Найти простые числа до n/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/HNS/Excercises/07082023 Найти простые числа до n/.idea/workspace.xml b/HNS/Excercises/07082023 Найти простые числа до n/.idea/workspace.xml
new file mode 100644
index 0000000..352c7e3
--- /dev/null
+++ b/HNS/Excercises/07082023 Найти простые числа до n/.idea/workspace.xml
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1691429146835
+
+
+ 1691429146835
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/HNS/Excercises/07082023 Найти простые числа до n/main.py b/HNS/Excercises/07082023 Найти простые числа до n/main.py
new file mode 100644
index 0000000..1622578
--- /dev/null
+++ b/HNS/Excercises/07082023 Найти простые числа до n/main.py
@@ -0,0 +1,70 @@
+def verify(message, expected, actual):
+ a = "========================="
+ print(a)
+ print(message)
+ if type(actual) != type(expected) or actual != expected:
+ print("FAILED!")
+
+ print(f"Expected value: {expected}")
+ print(f"Actual value: {actual}")
+
+ print(a)
+ return False
+ else:
+ print("SUCCESS!")
+ print(a)
+ return True
+
+
+def verify_all(dataset):
+ summa_success = int()
+ summa_failed = int()
+ for result in dataset:
+ if verify(result[0], result[1], result[2]):
+ summa_success += 1
+ else:
+ summa_failed += 1
+ print("Total:", len(dataset), "Successful:", summa_success, "Failed:", summa_failed)
+ return True
+
+
+def prime_generator(n):
+ primes = []
+ if type(n) is int and n > 2:
+ sieve = [True] * n
+ for i in range(2, n + 1):
+ if sieve:
+ for j in range(2*i, n, i):
+ sieve[j] = False
+ for p in range(2, n):
+ if sieve[p]:
+ primes.append(p)
+ return primes
+ else:
+ return []
+
+
+
+dataset = [ # Проверочные тесты, что вообще что-то работает
+ ("prime_generator0", ([]), prime_generator(2)),
+ ("prime_generator1", ([2, 3, 5]), prime_generator(7)),
+ ("prime_generator2", ([2]), prime_generator(3)),
+ ("prime_generator3", ([]), prime_generator(-2)),
+ ("prime_generator4", ([2, 3, 5, 7]), prime_generator(10)),
+
+ # Тесты на пустые значения
+ ("prime_generator5", ([]), prime_generator('')),
+ ("prime_generator6", ([]), prime_generator(None)),
+
+ # Тесты на неверный тип
+ ("prime_generator7", ([]), prime_generator("fgfg")),
+ ("prime_generator8", ([]), prime_generator(True)),
+
+ # Тесты на редкие случаи
+ ("prime_generator9", ([]), prime_generator(1.5)),
+ ("prime_generator10", ([]), prime_generator([23])),
+ ("prime_generator11", ([]), prime_generator(' ..,..,,2')),
+]
+
+
+verify_all(dataset)
\ No newline at end of file