تحية طيبة
باللغة البرمجية التي تتقنها، أُكتب برنامج يطلب من المستخدم أدخال أرقام وأحرف لإيحاد أكبر عدد من كلمات السر!
=======
مثال:
المستخدم: 123
المفروض من البرنامج أن يطبع:
123
132
213
231
312
321
=======
يمكنك استعمال مضروب العدد
مثلاً عدد احتمالات كلمة السر "123" هو مضروب طول الكلمة
3! = 1 * 2 * 3 = 6
لكن هناك مشكلة في استخدام هذه الطريقة سأوضحها مع الحل:
المشكلة هو أن يكون هناك تكرار في الحروف, مثلا ليكن لدينا الكلمة "physics", لاحظ ان هناك حرف مكرر و هو حرف ال "s", لحل هذه المشكلة نقوم بإيجاد مضروب طول الكلمة و هو في حالتنا 7 , و من ثم نقوم بقسمة الناتج على مضروب عدد الأحرف المكررة و هو في حالتنا 2 و هو حرف ال "s"
7! = 1 * 2 * 3 * 4 * 5 * 6 * 7 = 5040
2! = 1 * 2 = 2
5040 / 2 = 2520
بالتوفيق :)
التعليقات