در این مطلب، ویدئو ضرب رشته ها – Leetcode 43 – Python با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:18:28
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,000 –> 00:00:01,839
سلام به همه خوش آمدید و بیایید
2
00:00:01,839 –> 00:00:03,760
امروز یک کد دقیق تر بنویسیم، بنابراین امروز
3
00:00:03,760 –> 00:00:05,040
بیایید این مشکل را حل کنیم که
4
00:00:05,040 –> 00:00:07,919
رشته ها را ضرب کنیم، بنابراین دو
5
00:00:07,919 –> 00:00:10,880
عدد صحیح غیر منفی num1 و num2 به ما داده
6
00:00:10,880 –> 00:00:12,639
می شود، اما این اعداد می توانند بسیار
7
00:00:12,639 –> 00:00:15,599
بزرگ باشند و به همین دلیل این
8
00:00:15,599 –> 00:00:17,760
اعداد صحیح خواهند بود.
9
00:00:17,760 –> 00:00:20,240
همانطور که در زیر میبینید به صورت رشتههایی نشان داده میشود
10
00:00:20,240 –> 00:00:21,680
و خوبی این است که این اعداد
11
00:00:21,680 –> 00:00:23,680
صحیح همیشه یا مثبت
12
00:00:23,680 –> 00:00:25,039
هستند یا میتوانند
13
00:00:25,039 –> 00:00:27,680
صفر باشند و ما میخواهیم فقط این دو عدد را بگیریم و
14
00:00:27,680 –> 00:00:28,240
15
00:00:28,240 –> 00:00:30,560
آنها را با هم ضرب کنیم تا حاصل ضرب شود
16
00:00:30,560 –> 00:00:32,079
و سپس آن محصول را
17
00:00:32,079 –> 00:00:35,120
به عنوان برگردانیم. یک رشته و ما
18
00:00:35,120 –> 00:00:35,440
19
00:00:35,440 –> 00:00:37,840
اجازه نداریم این کار را با اعداد صحیح انجام دهیم، ما
20
00:00:37,840 –> 00:00:39,440
نمیتوانیم این دو رشته را به
21
00:00:39,440 –> 00:00:41,200
اعداد صحیح تبدیل کنیم.
22
00:00:41,200 –> 00:00:43,600
23
00:00:43,600 –> 00:00:45,680
24
00:00:45,680 –> 00:00:48,079
در یک
25
00:00:48,079 –> 00:00:50,800
عدد صحیح 32 بیتی یا 64 بیتی قرار می گیرند و آنها
26
00:00:50,800 –> 00:00:52,399
نمی خواهند که ما از هیچ نوع
27
00:00:52,399 –> 00:00:53,760
کتابخانه اعداد صحیح بزرگ استفاده کنیم،
28
00:00:53,760 –> 00:00:56,640
بنابراین این مشکل
29
00:00:56,640 –> 00:00:57,520
30
00:00:57,520 –> 00:00:59,359
دو بخش دارد، بخش اول این است که o به
31
00:00:59,359 –> 00:01:01,440
یاد داشته باشید که
32
00:01:01,440 –> 00:01:03,359
در وهله اول چگونه دو عدد را در واقع ضرب کردید،
33
00:01:03,359 –> 00:01:05,040
احتمالاً آن را در مدرسه ابتدایی یاد گرفته اید،
34
00:01:05,040 –> 00:01:06,560
اما ممکن است فراموش کرده باشید، بنابراین
35
00:01:06,560 –> 00:01:07,920
اولین چیزی است که ما باید بفهمیم که چگونه
36
00:01:07,920 –> 00:01:09,680
دو عدد را واقعاً ضرب کنیم و
37
00:01:09,680 –> 00:01:10,479
بخش بعدی این است
38
00:01:10,479 –> 00:01:12,240
که چگونه می توانیم در واقع آن ایده را بگیرید و
39
00:01:12,240 –> 00:01:14,400
سپس آن را به صورت خوانا به کد ترجمه کنید
40
00:01:14,400 –> 00:01:15,280
41
00:01:15,280 –> 00:01:17,600
و تا حدی مختصر می دانید و
42
00:01:17,600 –> 00:01:19,200
این دومین قسمتی
43
00:01:19,200 –> 00:01:20,479
است که باید بفهمیم
44
00:01:20,479 –> 00:01:22,159
و فقط برای مرور سریع یک مثال واقعی
45
00:01:22,159 –> 00:01:24,479
می توانید ببینید 123
46
00:01:24,479 –> 00:01:26,880
456 و آن ها را ضرب کنید. دو با هم
47
00:01:26,880 –> 00:01:28,560
این مقدار را دریافت می کنیم و ما
48
00:01:28,560 –> 00:01:31,280
آن را به عنوان یک رشته
49
00:01:31,280 –> 00:01:32,960
برمی گردانیم، پس بیایید به مدرسه ابتدایی برگردیم چگونه می
50
00:01:32,960 –> 00:01:34,960
توانیم دو عدد مانند این را بگیریم و
51
00:01:34,960 –> 00:01:35,600
آنها را
52
00:01:35,600 –> 00:01:38,079
به صورت فرمولی در هم ضرب کنیم که بتوانیم آن را
53
00:01:38,079 –> 00:01:40,159
به یک الگوریتم ترجمه کنیم خوب به یاد داشته باشید که
54
00:01:40,159 –> 00:01:42,240
معمولاً ابتدا شروع می کنیم در حالی که
55
00:01:42,240 –> 00:01:43,280
56
00:01:43,280 –> 00:01:45,280
اینها دقیقاً در اینجا قرار می گیرند و سپس این مقدار را می گیریم و
57
00:01:45,280 –> 00:01:46,479
سپس آن را در
58
00:01:46,479 –> 00:01:49,439
سه ضرب می کنیم آن را در دو ضرب می کنیم و آن را در ضرب می
59
00:01:49,439 –> 00:01:51,200
60
00:01:51,200 –> 00:01:52,399
کنیم. این
61
00:01:52,399 –> 00:01:54,640
سه را با هم جمع کنید، می دانید که ما نیز
62
00:01:54,640 –> 00:01:56,320
حملی داریم که باید آن
63
00:01:56,320 –> 00:01:56,799
64
00:01:56,799 –> 00:01:59,040
را پیگیری کنیم و می توانید بگویید
65
00:01:59,040 –> 00:02:00,079
که اگر
66
00:02:00,079 –> 00:02:02,799
شش عدد را در این سه عدد صحیح ضرب
67
00:02:02,799 –> 00:02:03,200
68
00:02:03,200 –> 00:02:05,040
کنیم، به سراغ آن می رویم. چهار ما به پنج می رویم
69
00:02:05,040 –> 00:02:06,880
آن را در این سه عدد صحیح ضرب می
70
00:02:06,880 –> 00:02:08,399
کنیم سپس به چهار ضرب
71
00:02:08,399 –> 00:02:10,000
در این سه عدد صحیح می رویم، چیزی
72
00:02:10,000 –> 00:02:11,840
که احتمالاً می تواند به
73
00:02:11,840 –> 00:02:13,920
یک حلقه for تودرتو ترجمه شود، بنابراین ما به نوعی
74
00:02:13,920 –> 00:02:15,920
یاد می گیریم که همانطور که ما برو اما بیایید
75
00:02:15,920 –> 00:02:16,640
با
76
00:02:16,640 –> 00:02:18,640
این شروع کنیم، بنابراین شش ضربدر سه که
77
00:02:18,640 –> 00:02:20,080
18 می شود
78
00:02:20,080 –> 00:02:22,640
درست است، اما معمولاً می دانید که ما
79
00:02:22,640 –> 00:02:23,760
فقط اولین رقم
80
00:02:23,760 –> 00:02:25,520
هشت را می گیریم، آن را اینجا در این
81
00:02:25,520 –> 00:02:26,959
مکان قرار می دهیم، سپس یکی را می گیریم
82
00:02:26,959 –> 00:02:29,440
و آن را به درستی حمل می کنیم تا یکی باشد.
83
00:02:29,440 –> 00:02:30,160
به
84
00:02:30,160 –> 00:02:32,000
اینجا بروید، به هر چیزی که در اینجا پایین می آید اضافه
85
00:02:32,000 –> 00:02:33,840
می شود، اما در کد ما در
86
00:02:33,840 –> 00:02:35,599
واقع بلافاصله آن را اینجا قرار می
87
00:02:35,599 –> 00:02:37,599
دهیم زیرا می دانید
88
00:02:37,599 –> 00:02:39,680
زمانی که ما در حال پیگیری حمل و نقل
89
00:02:39,680 –> 00:02:41,280
هستیم، می توانیم آن را پیگیری کنیم. در اینجا
90
00:02:41,280 –> 00:02:43,040
مانند یک متغیر است اما k است
91
00:02:43,040 –> 00:02:44,640
قرار دادن آن در اینجا ساده تر است زیرا
92
00:02:44,640 –> 00:02:45,760
می دانیم که با
93
00:02:45,760 –> 00:02:47,519
هر مقدار بعدی که در اینجا قرار می دهیم اضافه می
94
00:02:47,519 –> 00:02:49,599
شود بنابراین در مرحله بعدی به
95
00:02:49,599 –> 00:02:51,200
6 ضرب در 2 نگاه
96
00:02:51,200 –> 00:02:53,440
می کنیم که درست 12 می شود بنابراین ما می
97
00:02:53,440 –> 00:02:54,400
رویم برای گرفتن
98
00:02:54,400 –> 00:02:56,239
12 آن را با علامت حمل به سمت راست جمع کنید که
99
00:02:56,239 –> 00:02:57,680
100
00:02:57,680 –> 00:03:00,400
در این موقعیت درست 13 به ما می دهد، بنابراین ما یک
101
00:03:00,400 –> 00:03:02,400
رقم 3 در اینجا داریم و 1 را
102
00:03:02,400 –> 00:03:03,840
داریم که در موقعیت بعدی حمل است،
103
00:03:03,840 –> 00:03:04,640
104
00:03:04,640 –> 00:03:06,720
اکنون توجه کنید که چگونه وقتی این ها را ضرب می کردیم.
105
00:03:06,720 –> 00:03:07,840
سه با هم
106
00:03:07,840 –> 00:03:10,560
ما رقم را در نقطه اول قرار می دهیم اما
107
00:03:10,560 –> 00:03:12,560
وقتی این دو را با هم ضرب
108
00:03:12,560 –> 00:03:14,319
کردیم رقم را در نقطه بعدی قرار می دهیم
109
00:03:14,319 –> 00:03:17,280
و وقتی این دو را با هم ضرب
110
00:03:17,280 –> 00:03:19,280
می کنیم رقم را در اینجا قرار می دهیم
111
00:03:19,280 –> 00:03:21,519
بنابراین اساساً همانطور که می دانید چگونه تصمیم می گیریم
112
00:03:21,519 –> 00:03:23,200
113
00:03:23,200 –> 00:03:25,360
وقتی دو رقم را با هم ضرب می کنیم در واقع رقم را قرار
114
00:03:25,360 –> 00:03:27,440
می دهیم، اساساً مجموع
115
00:03:27,440 –> 00:03:29,680
شاخص های این دو خواهد بود، بنابراین
116
00:03:29,680 –> 00:03:30,959
اساساً این را صفر در نظر بگیرید
117
00:03:30,959 –> 00:03:33,120
این یکی است این دو است این
118
00:03:33,120 –> 00:03:34,879
شاخص ها هستند آه اگر این
119
00:03:34,879 –> 00:03:36,239
دو را با هم ضرب کنیم ما آن را قرار می دهیم
120
00:03:36,239 –> 00:03:37,760
اما
121
00:03:37,760 –> 00:03:39,599
اگر این دو را با هم ضرب کنیم رقم را در موقعیت صفر
122
00:03:39,599 –> 00:03:40,720
قرار می دهیم،
123
00:03:40,720 –> 00:03:42,560
صفر به علاوه یک را می گیریم،
124
00:03:42,560 –> 00:03:44,640
اکنون اگر
125
00:03:44,640 –> 00:03:45,680
126
00:03:45,680 –> 00:03:48,080
این دو مقدار را با هم ضرب کنیم، آن را در موقعیت یک قرار می دهیم. بگویید یک
127
00:03:48,080 –> 00:03:49,360
بعلاوه یک
128
00:03:49,360 –> 00:03:51,360
شما می دانید که این دو با هم ضرب شده اند،
129
00:03:51,360 –> 00:03:53,120
ما رقم را اینجا قرار می دهیم زیرا
130
00:03:53,120 –> 00:03:54,319
این دو
131
00:03:54,319 –> 00:03:57,040
نقطه است که می دانم برای شما مشکل است
132
00:03:57,040 –> 00:03:58,640
که فوراً تشخیص دهید
133
00:03:58,640 –> 00:04:00,319
اما فکر می کنم منطقی است زیرا می
134
00:04:00,319 –> 00:04:02,400
دانید چه زمانی داریم ضرب می کنیم شش در یک
135
00:04:02,400 –> 00:04:04,080
ما در واقع شش در
136
00:04:04,080 –> 00:04:05,519
یک ضرب نمیکنیم، درست شش
137
00:04:05,519 –> 00:04:08,000
در صد ضرب میکنیم زیرا جای این یکی
138
00:04:08,000 –> 00:04:10,000
در مکان صدها است،
139
00:04:10,000 –> 00:04:11,840
بنابراین این یک شهود پشت
140
00:04:11,840 –> 00:04:14,400
آن است، اما بله اکنون شش را ضرب در
141
00:04:14,400 –> 00:04:15,040
یک
142
00:04:15,040 –> 00:04:16,560
میگیریم. یک شش درست است، بنابراین این همان جایی است که
143
00:04:16,560 –> 00:04:18,238
ما شش رقمی را که مشخصاً یک
144
00:04:18,238 –> 00:04:19,759
انتقال داریم را در اینجا قرار می دهیم، بنابراین ما در واقع
145
00:04:19,759 –> 00:04:20,238
146
00:04:20,238 –> 00:04:23,600
یک هفت را در اینجا قرار می دهیم تا اینجا
147
00:04:23,600 –> 00:04:26,479
نتیجه ما بوده است، اما ما فقط
148
00:04:26,479 –> 00:04:27,360
از این
149
00:04:27,360 –> 00:04:29,120
شش رقم بعدی که می خواهیم برویم عبور کردیم. از طریق
150
00:04:29,120 –> 00:04:30,960
این پنج رقم و ضرب آن در
151
00:04:30,960 –> 00:04:31,919
سه مقدار را ببینید،
152
00:04:31,919 –> 00:04:34,240
بنابراین ما پنج را ضرب در سه میگیریم،
153
00:04:34,240 –> 00:04:35,840
154
00:04:35,840 –> 00:04:39,199
درست 15 میگیریم، 15 میرویم در این نقطه،
155
00:04:39,199 –> 00:04:40,800
درست اینجاست، اما البته ما
156
00:04:40,800 –> 00:04:43,040
یک بار در اینجا داریم، بنابراین چه کاری را
157
00:04:43,040 –> 00:04:44,800
به خوبی انجام خواهیم داد.
158
00:04:44,800 –> 00:04:46,320
اینها آنها را با هم جمع می کنیم و ما
159
00:04:46,320 –> 00:04:48,479
آنها را به درستی با هم جمع می
160
00:04:48,479 –> 00:04:49,360
کنیم، بنابراین
161
00:04:49,360 –> 00:04:51,759
در اینجا یک عدد 8 به دست می آوریم و
162
00:04:51,759 –> 00:04:52,880
در اینجا یک عدد 8
163
00:04:52,880 –> 00:04:54,479
می گیریم، سپس 5 را می گیریم و
164
00:04:54,479 –> 00:04:56,720
آن را در ضرب می کنیم 2 و موقعیتی که
165
00:04:56,720 –> 00:04:57,919
قرار است وارد شود
166
00:04:57,919 –> 00:05:00,479
در این موقعیت درست خواهد بود زیرا می دانید
167
00:05:00,479 –> 00:05:01,919
که این دقیقاً یک نوع ریاضی است که چگونه
168
00:05:01,919 –> 00:05:02,880
این شاخص ها جمع می
169
00:05:02,880 –> 00:05:05,840
شوند بنابراین 5 ضربدر 2 می شود 10 بنابراین
170
00:05:05,840 –> 00:05:08,160
ما یک 10 را در اینجا درست 0 قرار می دهیم. به علاوه 8
171
00:05:08,160 –> 00:05:09,919
که فقط 8 باقی می ماند، اما یک
172
00:05:09,919 –> 00:05:12,160
حمل در اینجا در این
173
00:05:12,160 –> 00:05:14,400
موقعیت قرار می گیرد، توجه کنید که چگونه نتیجه حاصل از
174
00:05:14,400 –> 00:05:15,600
ضرب دو
175
00:05:15,600 –> 00:05:17,360
عدد تعداد ارقام در خروجی می
176
00:05:17,360 –> 00:05:19,199
تواند بیشتر از تعداد ارقام
177
00:05:19,199 –> 00:05:20,160
در ورودی
178
00:05:20,160 –> 00:05:22,000
باشد. حداکثر تعداد ارقام
179
00:05:22,000 –> 00:05:24,320
خروجی حتی می تواند خوب باشد اگر دو
180
00:05:24,320 –> 00:05:27,280
عدد را در نظر بگیریم 99 ضربدر 99
181
00:05:27,280 –> 00:05:29,600
درست، اینها به نوعی بزرگترین
182
00:05:29,600 –> 00:05:31,600
اعداد صحیح هستند که می توانیم برای
183
00:05:31,600 –> 00:05:33,680
هر کدام دو رقم داشته باشیم، خروجی چقدر بزرگ می
184
00:05:33,680 –> 00:05:35,360
شود، خروجی چهار رقمی می شود،
185
00:05:35,360 –> 00:05:36,560
فکر می کنم
186
00:05:36,560 –> 00:05:39,120
چیزی شبیه به این باشد، من در مورد آن 100 مطمئن نیستم
187
00:05:39,120 –> 00:05:40,479
اما اساساً می توانید ببینید که می
188
00:05:40,479 –> 00:05:41,680
دانید اگر دو رقم
189
00:05:41,680 –> 00:05:43,759
ضرب در دو رقم داشته باشیم، حداکثر
190
00:05:43,759 –> 00:05:46,160
خروجی می تواند حاصل جمع
191
00:05:46,160 –> 00:05:47,600
ارقام هر یک از این موارد باشد، بنابراین
192
00:05:47,600 –> 00:05:49,520
اگر مثالی مانند این داشته باشیم که یک
193
00:05:49,520 –> 00:05:51,600
سه رقم در سه رقم ضرب شود.
194
00:05:51,600 –> 00:05:54,160
می تواند خروجی تا شش
195
00:05:54,160 –> 00:05:55,120
رقم داشته باشد،
196
00:05:55,120 –> 00:05:57,120
اما ممکن است کمتر از آن باشد،
197
00:05:57,120 –> 00:05:58,479
به عنوان مثال می دانید که 10 را ضرب در 10 می گیرید،
198
00:05:58,479 –> 00:06:00,400
ما فقط
199
00:06:00,400 –> 00:06:02,080
یک عدد سه رقمی صد را درست می گیریم، حتی اگر
200
00:06:02,080 –> 00:06:04,240
دو به علاوه دو چهار رقمی باشد، این
201
00:06:04,240 –> 00:06:04,720
خروجی
202
00:06:04,720 –> 00:06:06,400
اتفاقاً سه رقمی است، بنابراین
203
00:06:06,400 –> 00:06:08,080
اساساً کمتر یا مساوی
204
00:06:08,080 –> 00:06:10,319
با مجموع تعداد ارقام خواهد بود،
205
00:06:10,319 –> 00:06:12,160
اما خوب است، بنابراین ما کجا را رها
206
00:06:12,160 –> 00:06:13,759
کردیم، اکنون پنج را در
207
00:06:13,759 –> 00:06:16,800
این یک ضرب کنیم و سپس آن را در
208
00:06:16,800 –> 00:06:19,759
این رقم قرار دهیم. موقعیت چون این است که
209
00:06:19,759 –> 00:06:20,880
شاخص دو این در
210
00:06:20,880 –> 00:06:23,919
شاخص یک است، بنابراین خروجی در اینجا
211
00:06:23,919 –> 00:06:24,160
در
212
00:06:24,160 –> 00:06:26,240
شاخص سه خواهد بود، اینها
213
00:06:26,240 –> 00:06:28,080
نوعی شاخص های خروجی هستند،
214
00:06:28,080 –> 00:06:29,759
بنابراین پنج برابر یک فقط پنج می شود،
215
00:06:29,759 –> 00:06:31,600
بنابراین ما یک پنج را در اینجا می گیریم آن را اضافه کنیم.
216
00:06:31,600 –> 00:06:33,120
با یکی که قبلاً وجود دارد، بنابراین ما در این موقعیت
217
00:06:33,120 –> 00:06:33,680
یک عدد 6 دریافت می کنیم، به هر
218
00:06:33,680 –> 00:06:36,160
حال توجه کنید که چگونه
219
00:06:36,160 –> 00:06:37,600
وقتی شاخص ها را
220
00:06:37,600 –> 00:06:39,360
می شماریم می دانید که این 0 است این 1 است
221
00:06:39,360 –> 00:06:41,280
این 2 است. بنابراین اساساً خود اعداد صحیح
222
00:06:41,280 –> 00:06:41,919
223
00:06:41,919 –> 00:06:43,520
ما هستند. دوباره از طریق آنها به ترتیب معکوس تکرار می شود، به
224
00:06:43,520 –> 00:06:45,680
طور مشابه،
225
00:06:45,680 –> 00:06:47,919
خروجی خود را نیز به ترتیب معکوس می سازیم
226
00:06:47,919 –> 00:06:49,120
227
00:06:49,120 –> 00:06:50,560
و سپس در انتها این را می گیریم
228
00:06:50,560 –> 00:06:52,240
و آن را برعکس می کنیم،
229
00:06:52,240 –> 00:06:54,319
بنابراین اکنون پنج را ضرب در
230
00:06:54,319 –> 00:06:55,919
هر سه می کنیم. از این اعداد، بنابراین
231
00:06:55,919 –> 00:06:56,960
ما با پنج کار تمام
232
00:06:56,960 –> 00:06:58,880
کردیم، در نهایت چهار را می گیریم و
233
00:06:58,880 –> 00:07:00,960
آن را در هر سه عدد ضرب می کنیم،
234
00:07:00,960 –> 00:07:03,759
بنابراین چهار ضربدر سه می شود 12
235
00:07:03,759 –> 00:07:05,280
درست، ما یک 12 قرار
236
00:07:05,280 –> 00:07:07,919
می دهیم در اینجا شما می دانید که این ها را می گیریم دو آنها را
237
00:07:07,919 –> 00:07:09,520
با هم جمع کنید، یک
238
00:07:09,520 –> 00:07:13,440
صفر در این نقطه درست یک صفر می گیریم و
239
00:07:13,440 –> 00:07:14,560
در اینجا یک عدد شش داشتیم
240
00:07:14,560 –> 00:07:16,319
ما در اینجا یک داشتیم، حالا از آنجایی
241
00:07:16,319 –> 00:07:17,680
که یک صفر در اینجا به دست
242
00:07:17,680 –> 00:07:19,599
آوردیم، یک بار دیگر در
243
00:07:19,599 –> 00:07:21,120
این موقعیت خواهیم داشت، بنابراین وقتی واقعاً
244
00:07:21,120 –> 00:07:21,840
اینها را با هم جمع
245
00:07:21,840 –> 00:07:24,240
می کنیم، اکنون یک عدد هشت در این
246
00:07:24,240 –> 00:07:24,880
نقطه
247
00:07:24,880 –> 00:07:27,280
خواهیم داشت، بنابراین ما 4 را ضرب کردیم.
248
00:07:27,280 –> 00:07:29,199
اکنون آن را در سه می گیریم و آن را در
249
00:07:29,199 –> 00:07:31,199
2 ضرب می کنیم که 8 می شود و
250
00:07:31,199 –> 00:07:32,400
ما آن a را در
251
00:07:32,400 –> 00:07:33,919
این موقعیت قرار می دهیم زیرا اینگونه است که
252
00:07:33,919 –> 00:07:35,840
ریاضی این شاخص ها جمع می شود
253
00:07:35,840 –> 00:07:39,199
بنابراین 8 به علاوه 8 به ما 6 می
254
00:07:39,199 –> 00:07:41,199
دهد. ما میتوانیم یک عدد 6 را در اینجا قرار دهیم، اما مطمئناً
255
00:07:41,199 –> 00:07:42,800
میخواهیم یک حق حمل داشته باشیم 8 به اضافه
256
00:07:42,800 –> 00:07:44,720
8 16 است، بنابراین این چیزی است که ما
257
00:07:44,720 –> 00:07:46,639
داریم باید آن حمل را اینجا قرار
258
00:07:46,639 –> 00:07:49,599
میدهیم، بنابراین 4 گرفتیم و آن را در 2 ضرب
259
00:07:49,599 –> 00:07:50,639
کردیم در نهایت میرویم. برای گرفتن 4
260
00:07:50,639 –> 00:07:53,199
آن را در 1 ضرب می کنیم و سپس آن را در این
261
00:07:53,199 –> 00:07:53,840
نقطه قرار می دهیم
262
00:07:53,840 –> 00:07:57,199
تا 4 به علاوه 1 باشد یا 4 ضربدر 1 باشد 4
263
00:07:57,199 –> 00:07:59,120
بنابراین ما یک عدد چهار می گیریم آن را در اینجا
264
00:07:59,120 –> 00:08:00,479
با یک اضافه می کنیم
265
00:08:00,479 –> 00:08:03,680
تا نتیجه پنج می شود و سپس کار
266
00:08:03,680 –> 00:08:05,120
درست است از آنجایی که ما چهار آن را ضرب کردیم در
267
00:08:05,120 –> 00:08:05,759
268
00:08:05,759 –> 00:08:07,520
این ضرب در
269
00:08:07,520 –> 00:08:10,080
این شدیم و در این ضرب کردیم حلقه تو تو در تو را تمام کردیم
270
00:08:10,080 –> 00:08:12,479
و این نتیجه ای است که به دست آوردیم
271
00:08:12,479 –> 00:08:14,879
و همانطور که می توانید دو بار بررسی کنید که
272
00:08:14,879 –> 00:08:16,400
دقیقاً با خروجی مورد انتظار مطابقت دارد،
273
00:08:16,400 –> 00:08:17,520
274
00:08:17,520 –> 00:08:19,440
بنابراین اساساً نحوه اجرای
275
00:08:19,440 –> 00:08:21,039
من دقیقاً مشابه نحوه
276
00:08:21,039 –> 00:08:22,639
کدگذاری این است، تنها تفاوت این است
277
00:08:22,639 –> 00:08:24,479
که ما از قبل ایجاد می
278
00:08:24,479 –> 00:08:26,160
کنیم، ما از قبل می خواهیم آرایه نتیجه را تخصیص دهید
279
00:08:26,160 –> 00:08:27,759
در این حالت ما سه رقم
280
00:08:27,759 –> 00:08:29,360
در سه رقم داریم، بنابراین
281
00:08:29,360 –> 00:08:31,599
یک آرایه خروجی خواهیم داشت و نمیخواهیم
282
00:08:31,599 –> 00:08:33,599
آن را از نظر رشتهها پیگیری کنیم، حتی
283
00:08:33,599 –> 00:08:35,039
اگر ورودی به صورت
284
00:08:35,039 –> 00:08:36,958
رشتههایی به ما داده شود. خروجی را به
285
00:08:36,958 –> 00:08:38,479
صورت آرایه میسازیم فقط به این دلیل که کمی
286
00:08:38,479 –> 00:08:40,080
آسانتر است، فکر میکنم میتوانید این کار را با یک
287
00:08:40,080 –> 00:08:41,839
رشته انجام دهید، اما پس از آن باید تبدیلهای زیادی را انجام دهیم
288
00:08:41,839 –> 00:08:43,599
که میدانید
289
00:08:43,599 –> 00:08:46,800
یک کاراکتر را به یک عدد صحیح تبدیل میکنیم و
290
00:08:46,800 –> 00:08:49,040
برعکس آن را بهعنوان یک آرایه کمی
291
00:08:49,040 –> 00:08:50,959
سادهتر است و سپس در پایان میتوانیم آرایه را بگیریم
292
00:08:50,959 –> 00:08:52,640
و سپس آن
293
00:08:52,640 –> 00:08:55,120
را به رشتهای تبدیل کنیم که خیلی راحت میدانید،
294
00:08:55,120 –> 00:08:55,760
295
00:08:55,760 –> 00:08:56,959
بنابراین این همان کاری است که ما میخواهیم انجام دهیم
296
00:08:56,959 –> 00:08:58,080
و همانطور که اشاره کردم شروع میکنیم
297
00:08:58,080 –> 00:08:59,760
298
00:08:59,760 –> 00:09:02,080
موقعیت صحیح هر رشته در سمت راست
299
00:09:02,080 –> 00:09:03,360
که به صورت معکوس یا
300
00:09:03,360 –> 00:09:04,560
از طریق رشتههای ورودی
301
00:09:04,560 –> 00:09:06,320
به ترتیب معکوس تکرار میکنیم و وقتی
302
00:09:06,320 –> 00:09:06,800
303
00:09:06,800 –> 00:09:08,800
خروجی را میسازیم، میدانید که این به نوعی
304
00:09:08,800 –> 00:09:10,560
ترتیب مقدار است،
305
00:09:10,560 –> 00:09:12,080
ما آن را برعکس میسازیم، 8 را
306
00:09:12,080 –> 00:09:13,760
در اینجا قرار مید