لقد انجذبت إلى مهام مثل مشكلة Collatz. من السهل صياغة وتدريب رأسك بشكل مثالي ، وخاصة التفكير الخوارزمي ، وهو أمر مفيد جدًا للمبرمج.
تتم صياغة المهمة ببساطة شديدة:
خذ أي رقم طبيعي ن. إذا كان زوجيًا ، فقم بتقسيمه على 2 ، وإذا كان غريبًا ، فاضربه في 3 وأضف 1 (نحصل على 3n + 1). نقوم بتنفيذ نفس الإجراءات على الرقم الناتج ، وهكذا.
فرضية كولاتز هي أنه بغض النظر عن الرقم الأولي الذي نأخذه ، فسوف نحصل عليه عاجلاً أم آجلاً.
خوارزميات ، يبدو هذا:
while (number > 1) { if (number % 2 === 0) number = number / 2; else number = 3 * number +1; } 
كمثال ، خذ ن = 5. إنه أمر غريب ، مما يعني أننا نؤدي الإجراء على الفردي ، أي 3n + 1 => 16. 16 حتى ، وهذا يعني أننا نؤدي الإجراء على الزوج ، أي n / 2 => 8 => 4 => 2 => 1.
التسلسل المتكون من n = 5: 16 ، 8 ، 4 ، 2 ، 1.
أطلب منك أن تسامحني على حسابي ، أعلمني إذا أخطأت في مكان ما.دعونا نفرز العدد الإجمالي للمعلومات عن الوحدة والعدد الحقيقي للمعلومات عن الوحدة. تشير إلى هذه الخطوات.
خذ بعين الاعتبار تسلسل n = 7:
22 ، 11 ، 34 ، 17 ، 52 ، 26 ، 13 ، 40 ، 20 ، 10 ، 5 ، 16 ، 8 ، 4 ، 2 ، 1.
هناك 16 خطوة في المجموع ، 
والخطوات الحقيقية التي تم طرحها بالفعل في مجموعة أرقام أخرى هي 5 منها:
7 ، 11 ، 17 ، 13 ، 5.
الخطوة الحقيقية Sa (n) هي عدد العمليات 
3n + 1 على العدد الضروري للوصول إلى الوحدة.
يتم توضيح الفكرة بوضوح من خلال مثال الجدول:
| سن (0) | سن (1) | سن (2) | سن (3) | سن (4) | سن (5) | سن (6) | سن (7) | سن (8) | سن (9) | سن (10) | سن (11) | سن (12) | 
|---|
| 2 | 5 | 3 | 17 | 11 | 7 | 9 | 25 | 33 | 43 | 57 | 39 | 105 | 
| 4 | 10 | 6 | 34 | 22 | 14 | 18 | 49 | 65 | 86 | 59 | 78 | 203 | 
| 8 | 20 | 12 | 35 | 23 | 15 | 19 | 50 | 66 | 87 | 114 | 79 | 209 | 
| 16 | 21 | 13 | 68 | 44 | 28 | 36 | 51 | 67 | 89 | 115 | 153 | 210 | 
| 32 | 40 | 24 | 69 | 45 | التاسع والعشرون | 37 | 98 | 130 | 182 | 118 | 156 | 211 | 
| 64 | 42 | 26 | 70 | 46 | 30 | 38 | 99 | 131 | 173 | 119 | 157 | 406 | 
| 128 | 80 | 48 | 75 | 88 | 56 | 72 | 100 | 132 | 174 | 228 | 158 | 407 | 
| 256 | 84 | 52 | 136 | 90 | 58 | 74 | 101 | 133 | 177 | 229 | 305 | 409 | 
| 512 | 85 | 53 | 138 | 92 | 60 | 77 | 102 | 134 | 178 | 230 | 306 | 418 | 
في مثل هذا الجدول ، يكون الترتيب ونمطه مرئيًا بالفعل.
كما ترون ، فإن قوة الاثنين لن تصبح غريبة أبدًا ، لذلك يتعلق الأمر بتقسيم بسيط.
يتكون تسلسل Sa (0) من صيغة واحدة فقط.
لا يلزم اتخاذ خطوات حقيقية ؛ فبالتقسيم البسيط ، سيتم اختزال كل شيء إلى الوحدة.
بمعرفة هذا ، يمكنك أن تسقط من الجدول جميع الأرقام التي هي مضاعفات اثنين.
| سن (0) | سن (1) | سن (2) | سن (3) | سن (4) | سن (5) | سن (6) | سن (7) | سن (8) | سن (9) | سن (10) | سن (11) | سن (12) | 
|---|
|  | 5 | 3 | 17 | 11 | 7 | 9 | 25 | 33 | 43 | 57 | 39 | 105 | 
|  | 21 | 13 | 35 | 23 | 15 | 19 | 49 | 65 | 87 | 59 | 79 | 203 | 
|  | 85 | 53 | 69 | 45 | التاسع والعشرون | 37 | 51 | 67 | 89 | 115 | 153 | 209 | 
|  | 341 | 113 | 75 | 93 | 61 | 77 | 99 | 131 | 173 | 119 | 157 | 211 | 
|  | 1365 | 213 | 141 | 181 | 117 | 81 | 101 | 133 | 177 | 229 | 305 | 407 | 
الآن أصبح التقاط النمط أكثر صعوبة ، ولكن هناك نمط. الشيء الأكثر إثارة للاهتمام الآن هو تشكيل التسلسل. ليس هذا فقط ، الرقم التالي بعد 5 هو 21 ، وبعد 85.
في الواقع ، 
Sa (1) هو التسلسل 
A002450 (0 ، 1 ، 5 ، 21 ، 85 ، 341 ، 1365 ، 5461 ، 21845 ، 87381 ...). يتكون من الصيغة:
يمكن وصف نفس التسلسل بواسطة صيغة تعاودية:
وهكذا ...
تم بناء سلسلة من الخطوة الأولى ، على الرغم من أنها يمكن أن تستمر إلى أجل غير مسمى. دعنا ننتقل إلى الخطوة الثانية. يمكن التعبير عن صيغة الانتقال إلى الخطوة 2 من صيغة فردية.
مع العلم أننا سوف نشارك النتيجة 
عدة مرات يمكن كتابتها 
أين 
- عدد الأقسام.
تأخذ الصيغة النهائية الشكل التالي:
نقدم أيضا تعديل 
مثل 
بحيث يحدث خيار قسمة الرقم ليس مضاعف 3 في 3.
دعونا نتحقق من الصيغة ، نظرًا لأن ألفا غير معروفة ، تحقق من 5 ألفا متتالية:
وهكذا ، يبدأ تسلسل الخطوة الثانية في التكوين. ومع ذلك ، يمكن ملاحظة أن 113 ليس في تسلسل ، من المهم أن نتذكر أن الصيغة قد تم حسابها 
من 5 .
ن = 113 في الواقع:
لتلخيص:
الكثير من ولدت عن طريق الوظيفة من كل عنصر في المجموعة .
بعد معرفة ذلك ، لا يزال بإمكانك تقصير الجدول عن طريق إزالة جميع مضاعفات ألفا.
| سن (0) | سن (1) | سن (2) | سن (3) | سن (4) | سن (5) | سن (6) | سنيور (7) ... | 
|---|
|  | 5 | 3 | 17 | 11 | 7 | 9 | ... | 
|  |  | 113 | 75 | 201 | 267 | 715 | ... | 
|  |  | 227 | 151 | 401 | 1073 | 1425 | ... | 
لتوضيح الأمر ، إليك مثال لكيفية عناصر من مجموعة 
توليد عناصر المجموعة من 
لألفا من 0 إلى 4.
| ع (ك) = 3 | ع (ك) = 113 | ع (ك) = 227 | 
|---|
| 3 من α = 0 يولد: لا شيء
 
 13 من α = 1 ينتج:
 17
 69
 277
 1109
 4437
 
 53 من α = 2 يولد:
 35
 141
 565
 2261
 9045
 
 213 من α = 3 ينتج:
 لا شيء
 
 853 من α = 4 ينتج:
 1137
 4549
 18197
 72789
 291157
 
 
 | 113 من α = 0 يولد: 75
 301
 1205
 4821
 19285
 
 453 من α = 1 ينتج:
 لا شيء
 
 1813 من α = 2 يولد:
 2417
 9669
 38677
 154709
 618837
 
 7253 من α = 3 ينتج:
 4835
 19341
 77365
 309461
 1237845
 
 29013 من α = 4 ينتج:
 لا شيء
 
 
 | 227 من α = 0 يولد: 151
 605
 2421
 9685
 38741
 
 909 من α = 1 ينتج:
 لا شيء
 
 3637 من α = 2 ينتج:
 4849
 19397
 77589
 310357
 1241429
 
 14549 من α = 3 ينتج:
 9699
 38797
 155189
 620757
 2483029
 
 58197 من α = 4 يولد:
 لا شيء
 
 
 | 
من خلال الجمع بين هذه المجموعات ، نحصل على المجموعة من Sa (3):
17 ، 35 ، 69 ، 75 ، 141 ، 151 ، 277 ، 301 ، 565 ، 605 ، 1109 ، 1137 ، 1205 ، 2261 ، 2275 ، 2417 ، 2421 ، 4437 ، 4549 ، 4821 ، 4835 ، 4849 ، 9045 ، 9101 ، 9669 ، 9685 ، 9699 ، 17749 ، 18197 ، 19285 ، 19341 ، 19397 ، 19417 ...
علاوة على ذلك ، إزالة الدرجة 
نحصل على:
17 ، 75 ، 151 ...
أي أن الأمر يتعلق بما يلي:
لماذا في مكان ما وفي مكان ما ؟؟؟الرجوع إلى التسلسل A002450. هناك تبعية مثيرة للاهتمام:
- لا ينتج تسلسل فرعي.
- ينتج تسلسل تابع عندما 
.
- ينتج تسلسل تابع عندما 
.
هناك 3 صفائف طفل محتملة فقط لرقم.
إذا تم تطبيقه على صيغة تعاودية ، فعندئذٍ:
الوظيفة أين - أي عدد مضاعف لـ 3 يشكل مجموعة فارغة ⨂.
الوظيفة أين - أي رقم تم إنشاؤه في تشكل مجموعة الأعداد K التي تنتمي إلى مجموعة الأعداد الطبيعية N.
الوظيفة في تشكل مجموعة الأعداد L التي تنتمي إلى مجموعة الأعداد الطبيعية N.
من الواضح أنه يمكن اختزال هذا بطريقة أو بأخرى إلى صيغة أكثر صرامة وقائمة على الأدلة.
في الواقع ، هذه هي الطريقة التي تتشكل بها التسلسلات في فرضية Collatz.
هناك تفاصيل واحدة متبقية. من الضروري استعادة مجموعات كاملة من الخطوات المطلقة من المجموعات التي حصلنا عليها.
صيغة الغريب:
بالإضافة إلى تلك الفردية ، تحتاج إلى استعادة الكثير منها. للقيام بذلك ، تذكر الصيغة:
يبقى فقط لربط كل شيء معًا:
النسخة النهائية:
وبالتالي ، يمكن لأي k توليد تسلسل.
هل العكس صحيح أن أيًا من الأعداد الطبيعية ينتمي بالتأكيد إلى أي تسلسل من ؟؟؟
إذا كان الأمر كذلك ، فمن المحتمل تمامًا أن Collatz كان على حق.
للحصول على المثال الأخير لتنفيذ وظيفة جافا سكريبت:
 function collatsSequence( number, sequenceLength, alpha, epsilon ) {