عد الأصفار الزائدة للأرقام الموصلة في أي نظام أرقام

كيف يمكنني حساب عدد الأصفار الزائدة لعنصر رقم في نظام أرقام معين؟


دعونا نلقي نظرة على الحالة عندما نكون في نظام الأرقام العاشر ، ثم نرى كيف يمكننا تعميم هذا في حل عالمي. لقد حصلنا على الرقم N ولنا نحتاج إلى إيجاد عدد الأصفار الزائدة. سيكون الحل بسيطًا جدًا - المبلغ:

Math.floor(N/5) + Math.floor(N/25) + Math.floor(N/125) + Math.floor(N/625) + ... 

يمكننا تعميمها في مثل هذه الصيغة:

 sum limiti=1 inftyN over5i.

لماذا 5؟ انها بسيطة. يتم الحصول على الصفر النهائي فقط عندما يكون الرقم 10 في المصل ، وبالتالي ، عند حساب عدد العشرات في المصل ، نكتشف عدد الأصفار المحددة.

لماذا في المثال أعلاه نقسم على 5؟ لأنه يمكن الحصول على 10 بضرب 5 في 2. لذلك ، الحل الكامل سيكون له صيغتين:

 sum limiti=1 inftyN over5i

و

 sum limiti=1 inftyN over2i.

لكن ، من المنطقي ، نعلم أن المبلغ الأول سيكون أقل ، لذلك نحن بحاجة فقط لحسابه (يمكن العثور على مزيد من التفاصيل هنا ).

حل لمشكلتنا


لحساب الأصفار النهائية لعنصر رقم في نظام أرقام معين ، قمت بتجميع الخوارزمية أدناه:

  1. عامل الرقم B في نظام الأرقام.
  2. اقسم الرقم N على كل عامل رئيسي فريد K ، واضرب K في حد ذاته حتى N overKسيكون أكثر من واحد ، في حين تقريب كل نتيجة إلى عدد صحيح أصغر.
  3. إذا ، عند توسيع عدد نظام الأرقام ، حصلنا على عدة عوامل أولية متطابقة K ، فيجب أن نقسم النتيجة أعلاه على عدد K المتطابق.
  4. من بين جميع أقسام N حسب كل عامل فريد K ، اختر أصغر حاصل ، والذي سيكون جوابنا.

سوف تظهر ذلك مع مثال.
دع الرقم N = 5 ، ونظام الأرقام B = 12. Factorial 5! = 120 ، و 120 في النظام الثاني عشر هو A0. نرى أنه في نظام الأعداد المحدودة ، يكون لعامل الرقم الأصلي صفر واحد. إذا قمنا بتحليل 12 إلى عوامل أولية ، فسنحصل على 2 ، 2 ، 3. لدينا رقمان فريدان: 2 و 3. بعد خوارزمية لدينا ، سنحقق النقطة 2 بالرقم 2.

5 over2+5 over4+5 over8+...=2+1+0+...=3.

لكن الشيطان التقى مرتين في تحلل 12 ، لذلك نقسم النتيجة النهائية على 2 ونقابل عدد صحيح أصغر. نتيجة لذلك ، نحصل على 1.

نحن نفعل الشيء نفسه مع 3:

5 over3+5 over9+...=1+0+...=1.

وبالتالي ، لقد حصلنا على قسمتين من قسمي الرقم N حسب العوامل الأولية لعدد نظام الأرقام. كلاهما يساوي 1 ، لذلك لا يتعين علينا اختيار الأصغر ونقدم فقط الإجابة - 1.

النظر في مثال آخر.

دع الرقم N = 16 ، نظام الأرقام B = 16. The factorial 16! = 20922789888000 ، و 20922789888000 في النظام السادس عشر - 130777758000. نرى أنه في نظام الرقم النهائي ، يضم مصلع الرقم الأصلي ثلاثة أصفار. إذا تم تحليل 16 إلى عوامل أولية ، فسنحصل على 2 ، 2 ، 2 ، 2. وهنا لدينا رقم فريد واحد فقط ، وبالتالي ، يتم تنفيذ البند 2 مرة واحدة فقط:

16 over2+16 over4+16 over8+16 over16+16 over32+...=8+4+2+1+0+...=15.دولا

عندما تحللنا ، حصلنا على أربع درجات ، لذلك نقسم مجموع الأقسام على 4 مع التقريب إلى عدد صحيح أصغر: 15 over4=3.

ملاحظة: معظم المواد المنشورة مترجمة من هنا . أرسلت بواسطة أديتيا راميش .

Source: https://habr.com/ru/post/ar444112/


All Articles