Skip to content

Commit 90e37a8

Browse files
authored
Add files via upload
1 parent 3128c42 commit 90e37a8

File tree

1 file changed

+225
-0
lines changed

1 file changed

+225
-0
lines changed

exercise-16.ipynb

Lines changed: 225 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,225 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "markdown",
5+
"metadata": {},
6+
"source": [
7+
"# **Check whether a number is prime or not by defining a function.**"
8+
]
9+
},
10+
{
11+
"cell_type": "markdown",
12+
"metadata": {},
13+
"source": [
14+
"### **METHOD 1 - Using range(2, num) (Check All Numbers Up to n-1)**"
15+
]
16+
},
17+
{
18+
"cell_type": "code",
19+
"execution_count": null,
20+
"metadata": {},
21+
"outputs": [
22+
{
23+
"name": "stdout",
24+
"output_type": "stream",
25+
"text": [
26+
"Number 23489991 is Prime number!\n"
27+
]
28+
}
29+
],
30+
"source": [
31+
"def prime_check(num):\n",
32+
" if num <= 1:\n",
33+
" print(\"1 is neither a prime nor a composite number\")\n",
34+
" else:\n",
35+
" prime = True\n",
36+
" for i in range(2, num):\n",
37+
" if num%i == 0:\n",
38+
" prime = False\n",
39+
" break\n",
40+
"\n",
41+
" if prime == True:\n",
42+
" print(f\"Number {n} is Prime number!\")\n",
43+
" else:\n",
44+
" print(f\"Number {n} is Prime number!\")\n",
45+
"\n",
46+
"\n",
47+
"n = int(input(\"Enter a no : \"))\n",
48+
"prime_check(n)"
49+
]
50+
},
51+
{
52+
"cell_type": "markdown",
53+
"metadata": {},
54+
"source": [
55+
"### **METHOD 2 - Using range(2, ceil(num/2) + 1) (Check Up to Half of the Number)**"
56+
]
57+
},
58+
{
59+
"cell_type": "code",
60+
"execution_count": 6,
61+
"metadata": {},
62+
"outputs": [
63+
{
64+
"name": "stdout",
65+
"output_type": "stream",
66+
"text": [
67+
"Number 34578 is not prime!\n"
68+
]
69+
}
70+
],
71+
"source": [
72+
"import math\n",
73+
"\n",
74+
"def prime_check(num):\n",
75+
" if num <= 1:\n",
76+
" prime = False\n",
77+
" print(\"1 is neither prime nor composite\")\n",
78+
" else:\n",
79+
" prime = True\n",
80+
" for i in range(2, math.ceil(num/2)+1):\n",
81+
" if num%i == 0:\n",
82+
" prime = False\n",
83+
" break\n",
84+
" \n",
85+
" if prime:\n",
86+
" print(f\"Number {n} is Prime!\")\n",
87+
" else:\n",
88+
" print(f\"Number {n} is not prime!\")\n",
89+
"\n",
90+
"\n",
91+
"n = int(input(\"Enter a no : \"))\n",
92+
"prime_check(n)"
93+
]
94+
},
95+
{
96+
"cell_type": "markdown",
97+
"metadata": {},
98+
"source": [
99+
"### **METHOD 3 - Using range(2, ceil(sqrt(num)) + 1) (Check Up to Square Root)**"
100+
]
101+
},
102+
{
103+
"cell_type": "code",
104+
"execution_count": 8,
105+
"metadata": {},
106+
"outputs": [
107+
{
108+
"name": "stdout",
109+
"output_type": "stream",
110+
"text": [
111+
"Number 2347899172 is not Prime number!\n"
112+
]
113+
}
114+
],
115+
"source": [
116+
"from math import sqrt, ceil\n",
117+
"\n",
118+
"def prime_checker(num):\n",
119+
" if num <= 1:\n",
120+
" prime = False\n",
121+
" print(\"1 is neither prime nor composite\")\n",
122+
" else:\n",
123+
" prime = True\n",
124+
" for i in range(2, ceil(sqrt(num)) + 1):\n",
125+
" if num%i == 0:\n",
126+
" prime = False\n",
127+
" break\n",
128+
"\n",
129+
" if prime:\n",
130+
" print(f\"Number {n} is Prime number!\")\n",
131+
" else:\n",
132+
" print(f\"Number {n} is not Prime number!\")\n",
133+
"\n",
134+
"\n",
135+
"n = int(input(\"Enter a no : \"))\n",
136+
"prime_checker(n)"
137+
]
138+
},
139+
{
140+
"cell_type": "markdown",
141+
"metadata": {},
142+
"source": [
143+
"### **METHOD 4 - Optimised approach for even numbers**"
144+
]
145+
},
146+
{
147+
"cell_type": "markdown",
148+
"metadata": {},
149+
"source": [
150+
"* Immediately handles even numbers.\n",
151+
"* Checks only odd divisors starting from 3, skipping unnecessary checks."
152+
]
153+
},
154+
{
155+
"cell_type": "code",
156+
"execution_count": 10,
157+
"metadata": {},
158+
"outputs": [
159+
{
160+
"name": "stdout",
161+
"output_type": "stream",
162+
"text": [
163+
"Number 25127617911 is not a Prime!\n"
164+
]
165+
}
166+
],
167+
"source": [
168+
"from math import ceil, sqrt\n",
169+
"\n",
170+
"def prime_check(num):\n",
171+
" if num <1:\n",
172+
" prime = False\n",
173+
" print(\"1 is neither prime nor composite!\")\n",
174+
" elif num == 2:\n",
175+
" prime = True\n",
176+
" print(f\"Number {n} is Prime!\")\n",
177+
" elif num%2 == 0:\n",
178+
" prime = False\n",
179+
" print(f\"Number {n} is not a Prime!\")\n",
180+
" else:\n",
181+
" prime = True\n",
182+
" for i in range(3, ceil(sqrt(num))+1, 2):\n",
183+
" if num%i == 0:\n",
184+
" prime = False\n",
185+
" break\n",
186+
" \n",
187+
" if prime:\n",
188+
" print(f\"Number {n} is Prime!\")\n",
189+
" else:\n",
190+
" print(f\"Number {n} is not a Prime!\")\n",
191+
"\n",
192+
"n = int(input(\"enter a number : \"))\n",
193+
"prime_check(n)"
194+
]
195+
},
196+
{
197+
"cell_type": "code",
198+
"execution_count": null,
199+
"metadata": {},
200+
"outputs": [],
201+
"source": []
202+
}
203+
],
204+
"metadata": {
205+
"kernelspec": {
206+
"display_name": "Python 3",
207+
"language": "python",
208+
"name": "python3"
209+
},
210+
"language_info": {
211+
"codemirror_mode": {
212+
"name": "ipython",
213+
"version": 3
214+
},
215+
"file_extension": ".py",
216+
"mimetype": "text/x-python",
217+
"name": "python",
218+
"nbconvert_exporter": "python",
219+
"pygments_lexer": "ipython3",
220+
"version": "3.11.0"
221+
}
222+
},
223+
"nbformat": 4,
224+
"nbformat_minor": 2
225+
}

0 commit comments

Comments
 (0)