1 00:00:00,000 --> 00:00:05,860 >> [সঙ্গীত বাজাচ্ছি] 2 00:00:05,860 --> 00:00:09,530 >> ডগ লয়েড: সম্ভবত আপনি যে মনে কোড শুধু একটি কর্ম ব্যবহৃত হয়. 3 00:00:09,530 --> 00:00:10,450 আপনি এটি লিখতে. 4 00:00:10,450 --> 00:00:11,664 এটা এমন কিছু না. 5 00:00:11,664 --> 00:00:12,580 যে প্রায় কাছাকাছি এটা. 6 00:00:12,580 --> 00:00:13,160 >> আপনি এটা কম্পাইল. 7 00:00:13,160 --> 00:00:13,993 আপনি প্রোগ্রাম চালানো. 8 00:00:13,993 --> 00:00:15,370 আপনি যেতে ভাল. 9 00:00:15,370 --> 00:00:17,520 >> কিন্তু এটা বিশ্বাস করি বা না, যদি আপনি একটি দীর্ঘ সময়ের জন্য কোড 10 00:00:17,520 --> 00:00:20,550 আপনি আসলে দেখতে আসতে পারে সুন্দর কিছু যে হিসাবে কোড. 11 00:00:20,550 --> 00:00:23,275 এটা একটা সমস্যা solves একটি খুব আকর্ষণীয় ভাবে, 12 00:00:23,275 --> 00:00:26,510 অথবা সত্যিই ঠিক আছে কিছু এটা দেখে মনে হচ্ছে পথ সম্পর্কে ঝরঝরে. 13 00:00:26,510 --> 00:00:28,750 আপনি হাসতে পারে আমার এ, কিন্তু এটা সত্যি. 14 00:00:28,750 --> 00:00:31,530 এবং recursion এক উপায় সাজান এই ধারণা পেতে 15 00:00:31,530 --> 00:00:34,090 সুন্দর, মার্জিত সুদর্শন কোড. 16 00:00:34,090 --> 00:00:37,740 এটা উপায়ে সমস্যা solves যে , ঠাহর করা সহজ, আকর্ষণীয় 17 00:00:37,740 --> 00:00:39,810 এবং আশ্চর্যজনক ছোট. 18 00:00:39,810 --> 00:00:43,190 >> পথ, recursion কাজ একটি রিকার্সিভ ফাংশন, হয় 19 00:00:43,190 --> 00:00:49,291 কল করে একটি ফাংশন হিসাবে সংজ্ঞায়িত করা হয় নিজেই তার মৃত্যুদন্ড অংশ হিসেবে. 20 00:00:49,291 --> 00:00:51,790 যে, একটু অদ্ভুত মনে হতে পারে এবং আমরা একটি সামান্য বিট দেখতে পাবেন 21 00:00:51,790 --> 00:00:53,750 এই একটি মুহূর্ত কিভাবে কাজ সম্পর্কে. 22 00:00:53,750 --> 00:00:55,560 কিন্তু আবার, এই রিকার্সিভ পদ্ধতি 23 00:00:55,560 --> 00:00:57,730 তাই মার্জিত হতে যাচ্ছে তারা চলুন কারণ 24 00:00:57,730 --> 00:01:00,410 ছাড়া এই সমস্যা সমাধানের জন্য এই সমস্ত অন্যান্য ফাংশন হচ্ছে 25 00:01:00,410 --> 00:01:02,710 অথবা এই দীর্ঘ loops আছে. 26 00:01:02,710 --> 00:01:06,310 আপনি এই রিকার্সিভ দেখতে পাবেন পদ্ধতি যাতে স্বল্প দেখুন যাচ্ছি. 27 00:01:06,310 --> 00:01:10,610 এবং তারা সত্যিই করতে যাচ্ছি আপনার কোড আরো অনেক সুন্দর চেহারা. 28 00:01:10,610 --> 00:01:12,560 >> আমি আপনাকে একটি উদাহরণ দেব এই নিয়ে দেখতে 29 00:01:12,560 --> 00:01:14,880 একটি রিকার্সিভ পদ্ধতি সংজ্ঞায়িত করা যেতে পারে. 30 00:01:14,880 --> 00:01:18,202 আপনি এই সঙ্গে পরিচিত হন তাহলে তাই অনেক বছর আগে, গণিত ক্লাস থেকে 31 00:01:18,202 --> 00:01:20,910 কিছু আছে বলা হচ্ছে সাধারণত যা গৌণিক ফাংশন, 32 00:01:20,910 --> 00:01:25,340 কোন বিস্ময়বোধক বিন্দু, হিসাবে সূচিত যা সমস্ত ধনাত্মক পূর্ণ সংখ্যা ওভার সংজ্ঞায়িত করা হয়. 33 00:01:25,340 --> 00:01:28,850 আর ভাবে যে এন গৌণিক গণনা করা হয় 34 00:01:28,850 --> 00:01:31,050 আপনি সব গুন করা হয় বেশী নম্বর কম 35 00:01:31,050 --> 00:01:33,750 অথবা সমান এন একসঙ্গে করতে সব ইন্টিজার কম 36 00:01:33,750 --> 00:01:34,880 বা একসাথে এন সমান. 37 00:01:34,880 --> 00:01:39,850 >> তাই 5 গৌণিক 5 বার হয় 4 বার 3 বার 2 বার 1. 38 00:01:39,850 --> 00:01:43,020 আর 4 গৌণিক 4 বার হল 3 বার 2 বার 1, and so on. 39 00:01:43,020 --> 00:01:44,800 আপনি ধারণা পেতে. 40 00:01:44,800 --> 00:01:47,060 >> প্রোগ্রামারদের হিসাবে, আমরা না এন, বিস্ময়বোধক বিন্দু ব্যবহার. 41 00:01:47,060 --> 00:01:51,840 সুতরাং আমরা factorial সংজ্ঞায়িত করব n এর সত্য হিসাবে ফাংশন. 42 00:01:51,840 --> 00:01:56,897 আর আমরা তৈরি করতে গৌণিক ব্যবহার করব একটি সমস্যার একটি সমাধান রিকার্সিভ. 43 00:01:56,897 --> 00:01:59,230 আর আমি আপনাকে খুঁজে পেতে পারে মনে এটা অনেক বেশি দৃশ্যত যে 44 00:01:59,230 --> 00:02:02,380 পুনরাবৃত্ত চেয়ে মর্মস্পর্শী এই সংস্করণ, যা 45 00:02:02,380 --> 00:02:05,010 আমরা একটি মুহূর্ত কটাক্ষপাত করব. 46 00:02:05,010 --> 00:02:08,310 >> তাই এখানে একটি দম্পতি আছে facts-- শ্লেষ intended-- 47 00:02:08,310 --> 00:02:10,169 সম্পর্কে factorial-- গৌণিক ফাংশন. 48 00:02:10,169 --> 00:02:13,090 আমি আগেই বলেছি, 1 গৌণিক, 1 হয়. 49 00:02:13,090 --> 00:02:15,690 2 এর গৌণিক 2 বার 1. 50 00:02:15,690 --> 00:02:18,470 3 গৌণিক 3 বার 2 তাই বার 1, এবং. 51 00:02:18,470 --> 00:02:20,810 আমরা ইতিমধ্যে 4 ও 5 নিয়ে কথা বলত. 52 00:02:20,810 --> 00:02:23,940 >> কিন্তু এই সময়ে খুঁজছি, এই সত্য নয়? 53 00:02:23,940 --> 00:02:28,220 2 এর গৌণিক নয়, ঠিক 2 বার 1 গৌণিক? 54 00:02:28,220 --> 00:02:31,130 আমি বলতে চাচ্ছি, 1 গৌণিক 1 হয়. 55 00:02:31,130 --> 00:02:34,940 তাই কেন আমরা শুধু বলতে পারবে না, 2 এর গৌণিক 2 বার 1 যেহেতু, 56 00:02:34,940 --> 00:02:38,520 এটা সত্যিই শুধু 2 বার 1 এর গৌণিক? 57 00:02:38,520 --> 00:02:40,900 >> এবং তারপর, যে ধারণা ব্যাপ্ত 3 গৌণিক নয় 58 00:02:40,900 --> 00:02:44,080 মাত্র 3 বার 2 গৌণিক? 59 00:02:44,080 --> 00:02:50,350 এবং 4 গৌণিক 4 বার হল তাই 3, এবং এর গৌণিক? 60 00:02:50,350 --> 00:02:52,530 বস্তুত, গৌণিক কোন সংখ্যা শুধু পারেন 61 00:02:52,530 --> 00:02:54,660 ধরনের আমরা যদি প্রকাশ করা চিরতরে এই চালায়. 62 00:02:54,660 --> 00:02:56,870 আমরা ধরনের বিশ্বজনীন পারেন গৌণিক সমস্যা 63 00:02:56,870 --> 00:02:59,910 এটা যেমন এন বার এন বিয়োগ 1 এর গৌণিক. 64 00:02:59,910 --> 00:03:04,840 এটা নিয়ে এন বার পণ্য সব সংখ্যার আমাকে কম. 65 00:03:04,840 --> 00:03:08,890 >> এই ধারণা, এই সমস্যা সাধারণীকরণ করেন 66 00:03:08,890 --> 00:03:13,410 আমাদের পৌনঃপুনিকভাবে করতে পারবেন গৌণিক ফাংশন নির্ধারণ. 67 00:03:13,410 --> 00:03:15,440 আপনি যদি একটি ফাংশন নির্ধারণ করা হলে পৌনঃপুনিকভাবে, আছে 68 00:03:15,440 --> 00:03:17,470 এটি একটি অংশ হতে হবে যে দুটি জিনিস. 69 00:03:17,470 --> 00:03:20,990 আপনি কিছু একটা বলা আছে প্রয়োজন বেস কেস, যা, যখন আপনি এটা ট্রিগার, 70 00:03:20,990 --> 00:03:22,480 রিকার্সিভ বন্ধ করা হবে. 71 00:03:22,480 --> 00:03:25,300 >> অন্যথা, একটি ফাংশন যে আহ্বান নিজেই আপনি imagine-- পারে হিসাবে 72 00:03:25,300 --> 00:03:26,870 চিরকালের জন্য যেতে পারে. 73 00:03:26,870 --> 00:03:29,047 ফাংশন ফাংশন কল ফাংশন কল 74 00:03:29,047 --> 00:03:30,380 ফাংশন ফাংশন কল. 75 00:03:30,380 --> 00:03:32,380 আপনি একটি উপায় না থাকে আপনার প্রোগ্রাম এটা বন্ধ করার জন্য 76 00:03:32,380 --> 00:03:34,760 কার্যকরভাবে আটকে করা হবে অসীম লুপ এ. 77 00:03:34,760 --> 00:03:37,176 এটা শেষ পর্যন্ত বিপর্যস্ত হবে এটি মেমরি ফুরিয়ে করব কারণ. 78 00:03:37,176 --> 00:03:38,990 কিন্তু যে পয়েন্ট এর পাশে. 79 00:03:38,990 --> 00:03:42,210 >> আমরা বন্ধ করার জন্য অন্য কিছু উপায় আছে প্রয়োজন আমাদের প্রোগ্রাম বিপর্যয় এছাড়া কিছু 80 00:03:42,210 --> 00:03:46,010 বিপর্যের একটি প্রোগ্রাম কারণ সম্ভবত সুন্দর বা মার্জিত না. 81 00:03:46,010 --> 00:03:47,690 আর তাই আমরা এই বেস ক্ষেত্রে কল. 82 00:03:47,690 --> 00:03:50,610 এটি একটি সহজ সমাধান স্টপ, যা একটি সমস্যা 83 00:03:50,610 --> 00:03:52,770 ঘটমান থেকে রিকার্সিভ প্রক্রিয়া. 84 00:03:52,770 --> 00:03:55,220 সুতরাং যে এক অংশ একটি রিকার্সিভ ফাংশন. 85 00:03:55,220 --> 00:03:56,820 >> দ্বিতীয় অংশ রিকার্সিভ ক্ষেত্রে হয়. 86 00:03:56,820 --> 00:03:59,195 এবং এখান থেকেই, recursion হয় আসলে সঞ্চালিত হবে. 87 00:03:59,195 --> 00:04:02,200 এই হল যেখানে ফাংশন নিজেই কল হবে. 88 00:04:02,200 --> 00:04:05,940 >> এটা ঠিক যে নিজেই কল করতে হবে একই ভাবে এটা বলা ছিল. 89 00:04:05,940 --> 00:04:08,880 এটা সামান্য প্রকরণ হবেন যে এটি সমস্যা তোলে 90 00:04:08,880 --> 00:04:11,497 একটি পুঁচকে বিট ছোট সমাধান বের করার চেষ্টা করুন. 91 00:04:11,497 --> 00:04:14,330 কিন্তু এটা সাধারণত হরিণ পাস এর সমাধান বাল্ক সমাধানে 92 00:04:14,330 --> 00:04:17,450 লাইন নিচে একটি ভিন্ন কল করতে. 93 00:04:17,450 --> 00:04:20,290 >> এই রূপ কোনটি এখানে বেস কেস মত? 94 00:04:20,290 --> 00:04:25,384 যা মত এই সৌন্দর্য এক একটি সমস্যার সহজ সমাধান? 95 00:04:25,384 --> 00:04:27,550 আমরা factorials একটি গুচ্ছ আছে, এবং আমরা অগ্রসর হতে পারে 96 00:04:27,550 --> 00:04:30,470 তাই on-- 6, 7, 8, 9, 10, এবং যাচ্ছে. 97 00:04:30,470 --> 00:04:34,130 >> কিন্তু একটি মত এই সৌন্দর্য এক ভাল ক্ষেত্রে বেস কেস হতে. 98 00:04:34,130 --> 00:04:35,310 এটি একটি খুব সহজ সমাধান. 99 00:04:35,310 --> 00:04:37,810 আমরা বিশেষ কিছু করতে হবে না. 100 00:04:37,810 --> 00:04:40,560 >> 1 এর গৌণিক শুধু 1 হয়. 101 00:04:40,560 --> 00:04:42,790 আমরা কোনো কাজ করতে হবে না গুণ সব সময়ে. 102 00:04:42,790 --> 00:04:45,248 আমরা চলুন তাহলে এটি দেখে মনে হচ্ছে চেষ্টা করুন এবং এই সমস্যা সমাধানের জন্য, 103 00:04:45,248 --> 00:04:47,600 এবং আমরা বন্ধ করতে হবে কোথাও recursion, 104 00:04:47,600 --> 00:04:50,610 আমরা সম্ভবত বন্ধ করতে চান আমরা 1 থেকে পেতে হলে. 105 00:04:50,610 --> 00:04:54,580 আমরা যে আগে বন্ধ করতে চান না. 106 00:04:54,580 --> 00:04:56,660 >> আমরা সংজ্ঞায়িত করছি যদি তাই আমাদের গৌণিক ফাংশন, 107 00:04:56,660 --> 00:04:58,690 এখানে একটি কঙ্কাল জন্য আমরা কিভাবে তা করতে পারে. 108 00:04:58,690 --> 00:05:03,110 আমরা যারা দুটি জিনিস মধ্যে চলা প্রয়োজন বেস কেস এবং রিকার্সিভ ক্ষেত্রে. 109 00:05:03,110 --> 00:05:04,990 বেস কেস কি? 110 00:05:04,990 --> 00:05:10,150 এন 1 এর সমান হয়, তাহলে আসতে 1 টি যে একটি সত্যিই সহজ সমস্যা সমাধানের জন্য. 111 00:05:10,150 --> 00:05:11,890 >> 1 এর গৌণিক 1 হয়. 112 00:05:11,890 --> 00:05:13,860 এটা না 1 বার কিছুই. 113 00:05:13,860 --> 00:05:15,020 এটা শুধু 1 এর. 114 00:05:15,020 --> 00:05:17,170 এটি একটি খুব সহজ সত্য. 115 00:05:17,170 --> 00:05:19,620 আর তাই আমাদের বেস কেস হতে পারে. 116 00:05:19,620 --> 00:05:24,730 আমরা এই মধ্যে 1 পাশ করতে হলে ফাংশন, আমরা শুধু 1 ফিরে আসবেন. 117 00:05:24,730 --> 00:05:27,320 >> রিকার্সিভ কী ক্ষেত্রে সম্ভবত অনুরূপ? 118 00:05:27,320 --> 00:05:32,445 প্রত্যেক অন্য সংখ্যা জন্য 1 এছাড়া প্যাটার্ন কি? 119 00:05:32,445 --> 00:05:35,780 ওয়েল, আমরা গ্রহণ করছি এন গৌণিক, 120 00:05:35,780 --> 00:05:38,160 এটি এন বার গৌণিক বিয়োগ 1. 121 00:05:38,160 --> 00:05:42,130 >> আমরা 3 গৌণিক গ্রহণ করছেন, এটি 3 বিয়োগ 1 এর 3 বার গৌণিক এর 122 00:05:42,130 --> 00:05:43,070 বা 2. 123 00:05:43,070 --> 00:05:47,330 আর আমরা পারব না তাই যদি অন্যথায়, 1 এ খুঁজছেন 124 00:05:47,330 --> 00:05:51,710 রিটার্ন এন বার এন বিয়োগ 1 এর গৌণিক. 125 00:05:51,710 --> 00:05:53,210 এটা বেশ সহজবোধ্য. 126 00:05:53,210 --> 00:05:57,360 >> এবং সামান্য থাকার দরূন জন্য ক্লিনার এবং কোড আরো মার্জিত, 127 00:05:57,360 --> 00:06:01,440 জানি যে আমরা একক লাইন loops আছে যদি বা একক-লাইন শর্তাধীন শাখা, 128 00:06:01,440 --> 00:06:04,490 আমরা সব পরিত্রাণ পেতে পারেন তাদের চারপাশে কোঁকড়া ধনুর্বন্ধনী. 129 00:06:04,490 --> 00:06:06,850 তাই আমরা এই এই একত্রীকরণ করতে পারেন. 130 00:06:06,850 --> 00:06:09,640 এই ঠিক একই আছে এই হিসাবে কার্যকারিতা. 131 00:06:09,640 --> 00:06:13,850 >> আমি শুধু কোঁকড়া দূরে গ্রহণ করছি শুধুমাত্র একটি লাইন আছে, কারণ, ধনুর্বন্ধনী 132 00:06:13,850 --> 00:06:18,500 যারা শর্তাধীন শাখা ভিতরে. 133 00:06:18,500 --> 00:06:21,160 সুতরাং এই অভিন্নরুপে আচরণ. 134 00:06:21,160 --> 00:06:23,800 এন 1 এর সমান হয়, তাহলে 1 আসতে. 135 00:06:23,800 --> 00:06:28,351 অন্যথা এন বার আসতে এন বিয়োগ 1 এর গৌণিক. 136 00:06:28,351 --> 00:06:29,850 তাই আমরা ছোট সমস্যা তৈরি করছেন. 137 00:06:29,850 --> 00:06:33,850 এন 5 আউট হিসাবে শুরু হয়, তাহলে, আমরা চলুন 4 এর 5 বার গৌণিক আসতে. 138 00:06:33,850 --> 00:06:37,100 আর আমরা কথা বলতে হলে এক মিনিটের মধ্যে দেখতে পাবেন আরেকটি ভিডিও কল স্ট্যাক সম্পর্কে 139 00:06:37,100 --> 00:06:39,390 যেখানে আমরা যে বিষয়ে কথা আমরা শিখতে করব স্ট্যাক কল 140 00:06:39,390 --> 00:06:41,630 ঠিক এই প্রক্রিয়া কাজ কেন সম্পর্কে. 141 00:06:41,630 --> 00:06:46,970 >> কিন্তু 5 যখন গৌণিক বলেছেন 5 বার গৌণিক 4 প্রত্যাবর্তন, এবং 4 142 00:06:46,970 --> 00:06:49,710 আচ্ছা, ঠিক আছে, বলে যাচ্ছে, ফিরে যাও 4 বার 3 গৌণিক. 143 00:06:49,710 --> 00:06:51,737 হিসাবে আপনি দেখতে পারেন, আমরা করছি সাজান 1 সমীপবর্তী. 144 00:06:51,737 --> 00:06:53,820 আমরা কাছাকাছি পেয়ে থাকেন এবং যে বেস ক্ষেত্রে কাছাকাছি. 145 00:06:53,820 --> 00:06:58,180 >> আর আমরা বেস ক্ষেত্রে আঘাত একবার, পূর্ববর্তী ফাংশন সব 146 00:06:58,180 --> 00:07:00,540 তারা করছিলেন উত্তর আছে. 147 00:07:00,540 --> 00:07:03,900 2 এর গুণিতক রিটার্ন বলার অপেক্ষা রাখে না 2 বার 1 গৌণিক. 148 00:07:03,900 --> 00:07:06,760 ওয়েল, 1 আয় 1 গৌণিক. 149 00:07:06,760 --> 00:07:10,090 গৌণিক জন্য তাই কল 2, 2 বার 1 আসতে পারেন 150 00:07:10,090 --> 00:07:13,980 এবং এর গৌণিক যে ফেরত দিতে যে ফলাফলের জন্য অপেক্ষা করছে, যা 3. 151 00:07:13,980 --> 00:07:17,110 >> এবং তারপর তা নিরূপণ করতে পারেন তার ফলে, 3 বার 2, 6 152 00:07:17,110 --> 00:07:18,907 এবং 4 গৌণিক ফিরে এটা দিতে. 153 00:07:18,907 --> 00:07:20,740 এবং আবার, আমরা একটি আছে কল স্ট্যাক ভিডিও 154 00:07:20,740 --> 00:07:23,810 এই একটু চিত্রিত করা হয় যেখানে আমি এই মুহূর্তে বলার অপেক্ষা রাখে না কি আরো বেশী. 155 00:07:23,810 --> 00:07:25,300 কিন্তু এই হল এটা. 156 00:07:25,300 --> 00:07:29,300 এই একা সমাধান একটি সংখ্যা গৌণিক হিসাবী. 157 00:07:29,300 --> 00:07:31,527 >> এটা কোড মাত্র চারটি লাইন. 158 00:07:31,527 --> 00:07:32,610 একেবারে ঠিক, বেশ শান্ত? 159 00:07:32,610 --> 00:07:35,480 এটা সেক্সি ধরনের. 160 00:07:35,480 --> 00:07:38,580 >> তাই সাধারণভাবে, কিন্তু না সবসময় একটি রিকার্সিভ ফাংশন 161 00:07:38,580 --> 00:07:41,190 একটি একটি লুপ প্রতিস্থাপন করতে পারেন অ রিকার্সিভ ফাংশন. 162 00:07:41,190 --> 00:07:46,100 তাই এখানে, পাশাপাশি, পুনরাবৃত্ত হয় গৌণিক ফাংশনের সংস্করণ. 163 00:07:46,100 --> 00:07:49,650 এই হিসাব উভয় ঠিক একই জিনিস. 164 00:07:49,650 --> 00:07:52,170 >> তারা উভয় এন গৌণিক নিরূপণ. 165 00:07:52,170 --> 00:07:54,990 Glosbe উপর সংস্করণ এটা করতে, recursion ব্যবহার. 166 00:07:54,990 --> 00:07:58,320 ডানদিকে সংস্করণ এটা করতে পুনরাবৃত্তির ব্যবহার. 167 00:07:58,320 --> 00:08:02,050 >> এবং খেয়াল করুন, আমরা ঘোষণা করতে হবে একটি পূর্ণসংখ্যা পণ্য একটি পরিবর্তনশীল. 168 00:08:02,050 --> 00:08:02,940 এবং তারপর আমরা লুপ. 169 00:08:02,940 --> 00:08:06,790 এতক্ষণ এন হিসাবে আমরা, তার চেয়ে অনেক বেশী 0 এন দ্বারা যে পণ্য গুন রাখতে 170 00:08:06,790 --> 00:08:09,890 এবং যতক্ষণ এন decrementing আমরা পণ্য নিরূপণ. 171 00:08:09,890 --> 00:08:14,600 তাই এই দুটি ফাংশন, আবার, ঠিক একই জিনিস. 172 00:08:14,600 --> 00:08:19,980 কিন্তু তারা তা না না ঠিক একই ভাবে. 173 00:08:19,980 --> 00:08:22,430 >> এখন, এটা করা সম্ভব একাধিক বেস আছে 174 00:08:22,430 --> 00:08:25,770 যদি বা একাধিক রিকার্সিভ ক্ষেত্রে, নির্ভর করে 175 00:08:25,770 --> 00:08:27,670 কি আপনার ফাংশন কাজ করার চেষ্টা করছে. 176 00:08:27,670 --> 00:08:31,650 আপনি অগত্যা শুধু সীমাবদ্ধ নয় একটি একক বেস কেস বা একটি একক রিকার্সিভ 177 00:08:31,650 --> 00:08:32,370 কেস. 178 00:08:32,370 --> 00:08:35,320 কিছু একটি উদাহরণ একাধিক বেস মামলা 179 00:08:35,320 --> 00:08:37,830 হতে পারে আপাততঃ ফিবানচি সংখ্যা ক্রম. 180 00:08:37,830 --> 00:08:41,549 >> আপনি থেকে প্রত্যাহার করা হতে পারে প্রাথমিক স্কুল দিন 181 00:08:41,549 --> 00:08:45,740 Fibonacci ক্রম নির্ধারিত হয় যে আপাততঃ মত প্রথম উপাদান 0 হয়. 182 00:08:45,740 --> 00:08:46,890 দ্বিতীয় উপাদান 1 হয়. 183 00:08:46,890 --> 00:08:49,230 যারা উভয় শুধু সংজ্ঞা দ্বারা হয়. 184 00:08:49,230 --> 00:08:55,920 >> অতঃপর প্রত্যেকেই অন্যান্য উপাদান সংজ্ঞায়িত হয় এন বিয়োগ 1 এন বিয়োগ 2 এর সমষ্টি হিসেবে. 185 00:08:55,920 --> 00:09:00,330 তৃতীয় উপাদান তাই 0 প্লাস 1 1 হতে হবে. 186 00:09:00,330 --> 00:09:03,280 এবং তারপর চতুর্থ উপাদান দ্বিতীয় উপাদান, 1 হতে হবে, 187 00:09:03,280 --> 00:09:06,550 প্লাস তৃতীয় উপাদান, 1. 188 00:09:06,550 --> 00:09:08,507 আর যে 2 হতে হবে. 189 00:09:08,507 --> 00:09:09,340 এবং তাই এবং তাই. 190 00:09:09,340 --> 00:09:11,680 >> তাই এই ক্ষেত্রে, আমরা দুটি বেস ক্ষেত্রে আছে. 191 00:09:11,680 --> 00:09:14,850 এন 1 এর সমান হয়, তাহলে 0 আসতে. 192 00:09:14,850 --> 00:09:18,560 এন 2 সমান হলে, 1 ফিরে. 193 00:09:18,560 --> 00:09:25,930 অন্যথা, n এর ফিবানচি আসতে বিয়োগ 1 প্লাস এন বিয়োগ 2 ফিবানচি. 194 00:09:25,930 --> 00:09:27,180 >> সুতরাং যে একাধিক বেস ক্ষেত্রে এর. 195 00:09:27,180 --> 00:09:29,271 কি একাধিক রিকার্সিভ মামলা সম্পর্কে? 196 00:09:29,271 --> 00:09:31,520 ওয়েল, কিছু আছে Collatz অনুমান বলা. 197 00:09:31,520 --> 00:09:34,630 আমি বলতে যাচ্ছি না আপনি, যে কি জানেন 198 00:09:34,630 --> 00:09:38,170 এটা আসলে আমাদের চূড়ান্ত কারণ এই বিশেষ ভিডিও জন্য সমস্যা. 199 00:09:38,170 --> 00:09:43,220 আর এটা তোলে আমাদের ব্যায়াম একসঙ্গে কাজ করতে. 200 00:09:43,220 --> 00:09:46,760 >> সুতরাং এখানে কি Collatz অনুমান হচ্ছে ÑÑ 201 00:09:46,760 --> 00:09:48,820 এটা তোলে ধনাত্মক পূর্ণসংখ্যা প্রযোজ্য. 202 00:09:48,820 --> 00:09:51,500 আর এটা যে speculates সবসময় সম্ভব ফিরে পেতে 203 00:09:51,500 --> 00:09:55,060 1 থেকে আপনি নিম্নলিখিত ধাপগুলি অনুসরণ করে. 204 00:09:55,060 --> 00:09:57,560 এন 1 হয় তাহলে, বন্ধ. 205 00:09:57,560 --> 00:10:00,070 এন 1 হয় তাহলে আমরা 1 ফিরে পেয়েছেন. 206 00:10:00,070 --> 00:10:05,670 >> অন্যথা, এই মধ্য দিয়ে যেতে প্রক্রিয়া আবার উপর এন 2 দ্বারা বিভক্ত. 207 00:10:05,670 --> 00:10:08,200 আপনি 1 ফিরে পেতে পারেন এবং যদি দেখতে. 208 00:10:08,200 --> 00:10:13,260 যদি n হল বিজোড় অন্যথা, মধ্য দিয়ে যেতে আবার 3N প্লাস 1 এই প্রক্রিয়া, 209 00:10:13,260 --> 00:10:15,552 বা 3 বার এন প্লাস 1. 210 00:10:15,552 --> 00:10:17,010 তাই আমরা এখানে একটি একক বেস কেস আছে. 211 00:10:17,010 --> 00:10:18,430 এন 1 এর সমান হয়, তাহলে বন্ধ. 212 00:10:18,430 --> 00:10:20,230 আমরা কোন recursion করছেন না. 213 00:10:20,230 --> 00:10:23,730 >> কিন্তু আমরা দুই রিকার্সিভ ক্ষেত্রে আছে. 214 00:10:23,730 --> 00:10:28,750 যদি n এমনকি হল, আমরা এক রিকার্সিভ না কেস, এন 2 দ্বারা বিভক্ত কলিং. 215 00:10:28,750 --> 00:10:33,950 যদি n হল বিজোড়, আমরা একটি ভিন্ন না 3 বার এন প্লাস 1 রিকার্সিভ ক্ষেত্রে. 216 00:10:33,950 --> 00:10:39,120 >> আর তাই এই ভিডিওটির জন্য লক্ষ্য , একটি দ্বিতীয় নিতে ভিডিও বিরতি, 217 00:10:39,120 --> 00:10:42,440 এবং চেষ্টা করুন এবং এই লিখুন রিকার্সিভ ফাংশন Collatz 218 00:10:42,440 --> 00:10:47,640 যেখানে আপনি একটি মান এন এ পাস এটি কতগুলি পদক্ষেপ এটা হিসাব 219 00:10:47,640 --> 00:10:52,430 আপনি এন থেকে শুরু হলে 1 পেতে লাগে এবং আপনি যারা উপরের ধাপ অনুসরণ করা. 220 00:10:52,430 --> 00:10:56,660 এন 1 হয়, তাহলে এটি 0 পদক্ষেপ নেয়. 221 00:10:56,660 --> 00:11:00,190 অন্যথা, এটি যাচ্ছে তবে এক ধাপ প্লাস নিতে 222 00:11:00,190 --> 00:11:06,200 এটা হয় এন লাগে অনেক পদক্ষেপ 2 দ্বারা বিভক্ত n এমনকি হল, বা 3N প্লাস 1 যদি 223 00:11:06,200 --> 00:11:08,100 যদি n হল বিজোড়. 224 00:11:08,100 --> 00:11:11,190 >> এখন, আমি এখানে পর্দায় রেখেছি আপনার জন্য পরীক্ষা জিনিষ কয়েক, 225 00:11:11,190 --> 00:11:15,690 আপনার জন্য পরীক্ষার ক্ষেত্রে একটি দম্পতি, দেখতে এইসব বিভিন্ন Collatz সংখ্যা কি, 226 00:11:15,690 --> 00:11:17,440 এবং একটি চিত্রণ ধাপের যে 227 00:11:17,440 --> 00:11:20,390 তাই আপনি যা করতে পারেন মাধ্যমে সর্বস্বান্ত করা প্রয়োজন সাজান কর্ম এই প্রক্রিয়া দেখতে. 228 00:11:20,390 --> 00:11:24,222 এন সমান হলে তাই 1, এন Collatz 0 হয়. 229 00:11:24,222 --> 00:11:26,180 আপনাকে যা করতে হবে না কিছু 1 ফিরে পেতে. 230 00:11:26,180 --> 00:11:27,600 ইতিমধ্যে সেখানে আছেন. 231 00:11:27,600 --> 00:11:30,550 >> এন 2 হয়, তাহলে এটি লাগে এক ধাপ 1 পেতে. 232 00:11:30,550 --> 00:11:31,810 আপনি 2 দিয়ে শুরু. 233 00:11:31,810 --> 00:11:33,100 ওয়েল, 2 1 সমান নয়. 234 00:11:33,100 --> 00:11:36,580 সুতরাং এটা এক ধাপ হতে যাচ্ছে প্লাস তবে অনেক ধাপ এটা 235 00:11:36,580 --> 00:11:38,015 লাগে এন 2 দ্বারা বিভক্ত. 236 00:11:38,015 --> 00:11:41,280 237 00:11:41,280 --> 00:11:42,910 >> 2 দ্বারা বিভক্ত 2 1 হয়. 238 00:11:42,910 --> 00:11:47,200 সুতরাং এটা অবশ্য এক ধাপ প্লাস লাগে অনেক পদক্ষেপ এটি 1 জন্য লাগে. 239 00:11:47,200 --> 00:11:49,720 1 শূন্য পদক্ষেপ নেয়. 240 00:11:49,720 --> 00:11:52,370 >> হিসাবে আপনি দেখতে পারেন 3, আছে বেশ কয়েক ধাপ জড়িত. 241 00:11:52,370 --> 00:11:53,590 আপনি 3 থেকে যেতে. 242 00:11:53,590 --> 00:11:56,710 এবং তারপর আপনি যেতে 10, 5, 16, 8, 4, 2, 1. 243 00:11:56,710 --> 00:11:58,804 এটা 1 ফিরে পেতে সাত পদক্ষেপ নেয়. 244 00:11:58,804 --> 00:12:01,220 হিসাবে আপনি দেখতে পারেন, সেখানে একটি এখানে কয়েক অন্যান্য পরীক্ষার ক্ষেত্রে 245 00:12:01,220 --> 00:12:02,470 আপনার প্রোগ্রাম পরীক্ষা আউট. 246 00:12:02,470 --> 00:12:03,970 তাই আবার, ভিডিও বিরতি. 247 00:12:03,970 --> 00:12:09,210 আর আমি এখন ফিরে তিড়িং লাফ যাবেন প্রকৃত প্রক্রিয়া এখানে কি, 248 00:12:09,210 --> 00:12:11,390 এই অনুমান করে কথা বলে কি. 249 00:12:11,390 --> 00:12:14,140 >> আপনি চিন্তা করতে পারেন, তাহলে দেখুন n এর Collatz নির্ধারণ কিভাবে 250 00:12:14,140 --> 00:12:19,967 এটি কতগুলি হিসাব যাতে এটা 1 পেতে লাগে পদক্ষেপ. 251 00:12:19,967 --> 00:12:23,050 তাই আশা করছি, আপনি ভিডিও বিরাম দেওয়া এবং আপনি শুধু আমার জন্য অপেক্ষা করা হয় না 252 00:12:23,050 --> 00:12:25,820 এখানে আপনি উত্তর দিতে. 253 00:12:25,820 --> 00:12:29,120 কিন্তু আপনি যদি ভাল, এখানে উত্তর যাইহোক. 254 00:12:29,120 --> 00:12:33,070 >> তাই এখানে একটি সম্ভাব্য সংজ্ঞা Collatz ফাংশন. 255 00:12:33,070 --> 00:12:35,610 যদি n আমাদের বেস ক্ষেত্রেই 1 সমান, আমরা 0 ফিরে. 256 00:12:35,610 --> 00:12:38,250 এটা কোনো লাগবে না ধাপ 1 ফিরে পেতে. 257 00:12:38,250 --> 00:12:42,710 >> অন্যথা, আমরা দুটি রিকার্সিভ cases-- আছে এমনকি সংখ্যার জন্য এক এবং অদ্ভুত এক. 258 00:12:42,710 --> 00:12:47,164 আমি এমনকি সংখ্যার জন্য পরীক্ষা উপায় এন গেলিক 2 0 সমান কিনা তা পরীক্ষা করা হয়. 259 00:12:47,164 --> 00:12:49,080 এই, আবার মূলত প্রশ্ন জিজ্ঞাসা, 260 00:12:49,080 --> 00:12:54,050 আপনি কি গেলিক হচ্ছে ÑÑ প্রত্যাহার হলে যদি আমি 2 দ্বারা বিভক্ত এন কোন বাকি আছে? 261 00:12:54,050 --> 00:12:55,470 যে একটি জোড় সংখ্যা হবে. 262 00:12:55,470 --> 00:13:01,370 >> তাই এন গেলিক 2 0 সমান হলে পরীক্ষামূলক এই একটি এমনকি সংখ্যা. 263 00:13:01,370 --> 00:13:04,250 যদি তাই হয়, আমি 1 ফিরে আসতে চান, এই হ 'ল কারণ 264 00:13:04,250 --> 00:13:09,270 এক ধাপ প্লাস Collatz গ্রহণ যাই হোক না কেন নম্বর আমাকে অর্ধেক. 265 00:13:09,270 --> 00:13:13,910 অন্যথা, আমি 1 ফিরে আসতে চান প্লাস Collatz 3 বার এন প্লাস 1. 266 00:13:13,910 --> 00:13:16,060 অন্য যে ছিল রিকার্সিভ ধাপে যে আমরা 267 00:13:16,060 --> 00:13:19,470 নিরূপণ নিতে পারে ধাপের সংখ্যা Collatz-- 268 00:13:19,470 --> 00:13:22,610 তা ফিরে পেতে লাগে 1 একটি নম্বর দেওয়া. 269 00:13:22,610 --> 00:13:24,610 তাই আশা করছি, এই যেমন আপনি একটি সামান্য বিট দিয়েছেন 270 00:13:24,610 --> 00:13:26,620 রিকার্সিভ পদ্ধতি একটি স্বাদ. 271 00:13:26,620 --> 00:13:30,220 আশা করছি, আপনি কোড একটি মনে হয় একটু বেশি যদি সুন্দর বাস্তবায়িত 272 00:13:30,220 --> 00:13:32,760 একটি মার্জিত, রিকার্সিভ ভাবে. 273 00:13:32,760 --> 00:13:35,955 এমনকি না কিন্তু যদি,, recursion একটি তবু সত্যিই শক্তিশালী হাতিয়ার. 274 00:13:35,955 --> 00:13:38,330 আর তাই এটি স্পষ্টভাবে কিছু কাছাকাছি আপনার মাথা পেতে, 275 00:13:38,330 --> 00:13:41,360 আপনি তৈরি করতে সক্ষম হবেন, কারণ recursion ব্যবহার চমত্কার প্রোগ্রাম 276 00:13:41,360 --> 00:13:45,930 যে অন্যথায় লিখতে জটিল হতে পারে আপনি loops এবং পুনরাবৃত্তির ব্যবহার করছেন. 277 00:13:45,930 --> 00:13:46,980 আমি ডগ লয়েড আছি. 278 00:13:46,980 --> 00:13:48,780 এটি CS50. 279 00:13:48,780 --> 00:13:50,228