در این مطلب، ویدئو Python – بزرگترین مقسوم علیه مشترک W/ Recursion با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:09:14
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,560 –> 00:00:02,080
در این ویدیو می خواهم به شما بچه ها نشان دهم
2
00:00:02,080 –> 00:00:03,760
که چگونه می توان بزرگترین تابع مقسوم علیه مشترک را
3
00:00:03,760 –> 00:00:04,319
4
00:00:04,319 –> 00:00:06,879
با بازگشت ایجاد کرد، اکنون این
5
00:00:06,879 –> 00:00:08,320
آموزش از دو قسمت تشکیل
6
00:00:08,320 –> 00:00:10,559
شده است که بخش اول بخش کدگذاری
7
00:00:10,559 –> 00:00:12,240
و بخش دوم
8
00:00:12,240 –> 00:00:13,840
بخش تخته سیاه است.
9
00:00:13,840 –> 00:00:15,280
بخش تخته سیاه قرار است یک
10
00:00:15,280 –> 00:00:16,800
شیرجه عمیق به تمام فرآیندهای بازگشتی باشد
11
00:00:16,800 –> 00:00:19,199
که در آن تابع اتفاق میافتند
12
00:00:19,199 –> 00:00:21,039
و قبل از اینکه وارد هر کدام از آنها
13
00:00:21,039 –> 00:00:22,640
شویم، میخواهم مقدمه این ویدیو را
14
00:00:22,640 –> 00:00:24,720
با نشان دادن دستی به شما نشان دهم که این
15
00:00:24,720 –> 00:00:25,920
تابع بدون همه کارها چه کاری انجام
16
00:00:25,920 –> 00:00:28,960
میدهد. بازگشتی برای
17
00:00:28,960 –> 00:00:31,039
کمک به پاک کردن آب کمی وجود دارد،
18
00:00:31,039 –> 00:00:32,159
زیرا میدانم که
19
00:00:32,159 –> 00:00:35,280
بازگشت میتواند بسیار سخت باشد
20
00:00:35,280 –> 00:00:37,920
که ذهن شما را درگیر کند، بنابراین
21
00:00:37,920 –> 00:00:40,640
اساساً اجازه دهید وارد آن شویم.
22
00:00:40,640 –> 00:00:42,079
23
00:00:42,079 –> 00:00:44,000
24
00:00:44,000 –> 00:00:46,320
از اعداد صحیح
25
00:00:46,320 –> 00:00:49,360
بنابراین در این مورد 6
26
00:00:49,360 –> 00:00:50,719
بزرگترین مقسوم علیه
27
00:00:50,719 –> 00:00:52,960
12 و 54 خواهد بود زیرا 6 بزرگترین
28
00:00:52,960 –> 00:00:54,160
عدد صحیح مثبت است
29
00:00:54,160 –> 00:00:58,000
که به طور مساوی به 12 و 54 تقسیم می شود.
30
00:00:58,000 –> 00:00:59,199
31
00:00:59,199 –> 00:01:02,399
lve این با الگوریتم اقلیدس است
32
00:01:02,399 –> 00:01:04,319
و روشی کارآمد برای محاسبه
33
00:01:04,319 –> 00:01:05,438
34
00:01:05,438 –> 00:01:07,840
gcd دو عدد صحیح است و اساساً آنچه
35
00:01:07,840 –> 00:01:08,720
بیان میکند این است که
36
00:01:08,720 –> 00:01:10,560
اگر عدد کوچکتر را از عدد بزرگتر کم کنیم
37
00:01:10,560 –> 00:01:13,520
، gcd تغییر نمیکند،
38
00:01:13,520 –> 00:01:15,840
بنابراین اگر به تفریق مکرر ادامه دهیم، در
39
00:01:15,840 –> 00:01:17,759
نهایت به این نتیجه میرسیم. زمانی که یکی از
40
00:01:17,759 –> 00:01:19,439
اعداد به صفر
41
00:01:19,439 –> 00:01:22,240
رسید، gcd بهجای تفریق،
42
00:01:22,240 –> 00:01:22,560
از
43
00:01:22,560 –> 00:01:24,960
محاسبات مدولار استفاده میکنیم، بنابراین
44
00:01:24,960 –> 00:01:25,840
بزرگترین
45
00:01:25,840 –> 00:01:29,360
عدد را که 54 است.
46
00:01:29,360 –> 00:01:32,400
مدول عدد کوچکتر و برای کسانی از شما
47
00:01:32,400 –> 00:01:33,520
که نمیدانید چیست.
48
00:01:33,520 –> 00:01:35,520
mod عملگر مدول انجام می دهد فقط
49
00:01:35,520 –> 00:01:36,799
باقیمانده را برمی گرداند
50
00:01:36,799 –> 00:01:40,000
بنابراین 12 چهار بار به 54 می رود
51
00:01:40,000 –> 00:01:42,720
زیرا 12 ضربدر 4 می شود 48 اما 6 مورد
52
00:01:42,720 –> 00:01:44,640
باقی می ماند بنابراین آنچه که قرار است
53
00:01:44,640 –> 00:01:45,600
54
00:01:45,600 –> 00:01:49,759
برگرداند باقی مانده یا 6 است. اکنون 54 6 است
55
00:01:49,759 –> 00:01:53,119
و 12 بدون تغییر است. حالا 6 و
56
00:01:53,119 –> 00:01:54,159
12
57
00:01:54,159 –> 00:01:56,719
داریم. بزرگترین عدد 6 و 12 را
58
00:01:56,719 –> 00:01:58,000
که 12 است می
59
00:01:58,000 –> 00:02:01,200
گیریم و مدول 6 را انجام می دهیم. اکنون
60
00:02:01,200 –> 00:02:04,560
6 به 12 می رود 2 ضربدر 6 ضربدر 2 می شود 12
61
00:02:04,560 –> 00:02:05,920
چیزی باقی نمی ماند پس
62
00:02:05,920 –> 00:02:07,119
برابر 0 است.
63
00:02:07,119 –> 00:02:09,520
اکنون 12 برابر است با صفر و شش
64
00:02:09,520 –> 00:02:10,399
بدون تغییر است
65
00:02:10,399 –> 00:02:13,120
ما r داریم صفر هر کدام به این معنی است که
66
00:02:13,120 –> 00:02:14,640
67
00:02:14,640 –> 00:02:17,920
gcd شش است و اساساً این همان کاری است که این
68
00:02:17,920 –> 00:02:19,520
تابع قرار است انجام دهد، اگرچه این
69
00:02:19,520 –> 00:02:21,120
کار را به صورت بازگشتی انجام می دهد
70
00:02:21,120 –> 00:02:24,160
و ما در
71
00:02:24,160 –> 00:02:25,599
بخش کدنویسی این
72
00:02:25,599 –> 00:02:27,040
آموزش که شروع می کنیم وارد آن بخش خواهیم شد. تابع خود را ایجاد کنیم،
73
00:02:27,040 –> 00:02:28,720
بنابراین میخواهیم بگوییم که
74
00:02:28,720 –> 00:02:31,920
gcd را تعریف کنید این تابع gcd
75
00:02:31,920 –> 00:02:33,360
دو مقدار ورودی
76
00:02:33,360 –> 00:02:36,160
a و b a و b دو
77
00:02:36,160 –> 00:02:39,519
عدد صحیحی هستند که gcd را مییابیم که
78
00:02:39,519 –> 00:02:40,800
اکنون دو قسمت برای
79
00:02:40,800 –> 00:02:42,560
این وجود دارد. تابع حالت پایه
80
00:02:42,560 –> 00:02:44,879
و تابع بازگشتی فراخوانی حالت پایه
81
00:02:44,879 –> 00:02:46,080
قرار است
82
00:02:46,080 –> 00:02:48,400
فراخوانی های تابع بازگشتی را خاتمه دهد
83
00:02:48,400 –> 00:02:50,160
زیرا بدون حالت پایه،
84
00:02:50,160 –> 00:02:52,720
فراخوانی های تابع بازگشتی
85
00:02:52,720 –> 00:02:53,519
86
00:02:53,519 –> 00:02:57,120
برای همیشه و همیشه خود را فراخوانی می کنند و هرگز متوقف نمی شوند، بنابراین
87
00:02:57,120 –> 00:02:59,200
حالت پایه زمانی خواهد بود که b
88
00:02:59,200 –> 00:03:00,239
برابر با صفر است
89
00:03:00,239 –> 00:03:02,400
زیرا وقتی b برابر با صفر باشد، به این معنی است که
90
00:03:02,400 –> 00:03:04,000
a gcd ما است،
91
00:03:04,000 –> 00:03:06,720
بنابراین میخواهیم بگوییم اگر b برابر با 0 است، به
92
00:03:06,720 –> 00:03:08,560
این معنی است که باید
93
00:03:08,560 –> 00:03:10,800
a را برگردانیم
94
00:03:12,000 –> 00:03:15,120
و سپس از اینجا اگر b 0 نیست، به این
95
00:03:15,120 –> 00:03:15,519
معنی است
96
00:03:15,519 –> 00:03:17,040
که باید کارهایی انجام دهیم. تابع بازگشتی تر
97
00:03:17,040 –> 00:03:20,080
در غیر این صورت،
98
00:03:20,080 –> 00:03:23,120
ما فقط میخواهیم بگوییم که
99
00:03:23,120 –> 00:03:26,159
gcd b
100
00:03:26,159 –> 00:03:29,519
و مدول b را برگردانیم،
101
00:03:29,519 –> 00:03:32,080
خوب حالا این دو
102
00:03:32,080 –> 00:03:33,360
متغیر a و b
103
00:03:33,360 –> 00:03:36,080
را تغییر میدهیم و a و b را تغییر میدهیم، زیرا
104
00:03:36,080 –> 00:03:38,159
نمیدانیم اگر به آن برسیم کدام عدد بزرگترین است.
105
00:03:38,159 –> 00:03:40,159
دو عدد می گویند شش و
106
00:03:40,159 –> 00:03:41,840
هشت و ما می گوییم شش
107
00:03:41,840 –> 00:03:43,840
مدول هشت این دو عدد
108
00:03:43,840 –> 00:03:45,200
بدون تغییر باقی می مانند
109
00:03:45,200 –> 00:03:48,319
زیرا 8 به 6 بار 0 می رود و 6
110
00:03:48,319 –> 00:03:49,200
باقی می ماند
111
00:03:49,200 –> 00:03:51,760
بنابراین 6 تابع بازگشتی را تغییر نمی دهد
112
00:03:51,760 –> 00:03:53,599
فقط آن دو عدد را عوض می کند
113
00:03:53,599 –> 00:03:56,640
تا دفعه بعد که دریافت شود. به این قسمت
114
00:03:56,640 –> 00:03:58,319
می گوید 8 مدول 6
115
00:03:58,319 –> 00:04:01,760
و سپس کار می کند، پس بیایید
116
00:04:01,760 –> 00:04:05,120
gcd را چاپ
117
00:04:05,120 –> 00:04:07,360
کنیم و فقط 12 و 54 را انجام می دهیم زیرا می
118
00:04:07,360 –> 00:04:08,239
119
00:04:08,239 –> 00:04:10,799
دانیم gcd آن دو عدد چقدر است،
120
00:04:10,799 –> 00:04:12,560
بنابراین آن را اجرا می کنیم
121
00:04:12,560 –> 00:04:15,200
و می رویم. و بررسی کنید بله و
122
00:04:15,200 –> 00:04:16,238
gcd شش است،
123
00:04:16,238 –> 00:04:18,160
بنابراین در قسمت بعدی ما
124
00:04:18,160 –> 00:04:21,519
همه این کدها را روی تخته سیاه تجزیه می کنیم
125
00:04:21,519 –> 00:04:23,120