تحدي برمجي[004][سهل] : المصفوفة الاولية prime array

  • afaki

تسمى المصفوفة أولية إذا كان طولها (length) عددا أوليا وكان أي عدد أولي بداخلها يقع في فهرس (index) أولي

إذا تم إعطائك مصفوفة تحتوي على اعداد (integers) قم بإرجاع القيمة True إذا كانت أولية غير ذلك قم بإرجاع False

امثلة:

ex1 = [1,0,4,3,18]

هنا القيمة ستكون True لأن طول المصفوفة 5 و 3 عدد أولي يقع في الفهرس رقم 3

ex2 = [2112, 3224, 12334, 1244445]

هنا القيمةستكون False لأن طول المصفوفة ليس أوليا

تحقق من طول المصفوفة أولا
ex3 = []

القيمة False لأن المصفوفة فارغة

برمجة سعيدة


التعليق السابق
mohab أضف ردا

أول جزء

^1?$|

يطابق 1 أو 0 (الرقمين غير أوليين).

ثاني جزء ^(11+?)\1+$ يحاول أولا أن يطابق أول 11 مع المتبقي من الواحدات (مرة أو أكثر، مثلا المتبقي 11 إذا العدد مطابق للتعبير القياسي، في هذه الحالة 4(1111)). إذا لم يتطابقوا يأخذ واحد زيادة (111) ويحاول أن يطابقهم مع الواحدات المتبقية (مرة أو أكثر). يكرر العملية حتى يجد أو يرجع خطأ، (لم يجد قاسم --> العدد أولي). مثلا:

العدد 5=11111
11 != 111
كرر:
111 != 11
كرر:
1111 != 1
كرر:
11111 != ""
العدد غير مطابق (أولي)

العدد 9 = 111111111
11 != 1111111
كرر:
111 == 111 111 (مطابقة مرتين)
العدد مطابق (غير أولي)

شكراً مُهاب على الإيضاح، وبهذا فهي مُكلفة في استهلاك الموارد أيضاً في حالة معالجة الأرقام الكبيرة.