حل لغز الارقام عن طريق البرمجة

انتشرت في الفترة الاخيرة اللغز الموجود في الصورة عن طريق وسائل التواصل الاجتماعي ، مع ان اللغز مستحيل الحل رياضياً بسبب وجود قاعدة تنص على “مجموع اعداد فردية لعدد فردي هو عدد فردي , ومجموع عدد زوجي لاعداد زوجية هو عدد زوجي” ولكن ساقوم بكتابة Class لإثبات ذلك ويمكن استخدامه في حل امثلة اخرى لنفس طريقة اللغز .

اولا يجب ان نعرف ان هذا النوع من الالغاز يمكن حله عن طريق التباديل مع السماح له بالتكرار “permutations with repetition” , فـ بالتالي قمت بكتابة كلاس يمكن استخدامه عن طريق استدعاء “getResult” وتمرير له القيم التالية:

numbers As Array – مصفوفة تحتوي على قائمة بالارقام المسموح استخدامها في حساب الناتج النهائي.
numberOfSpace As int – متغير رقمي وهو عدد الفراغات او عدد الارقام الممكن استخدامها في الحل.
target As int – متغيير رقمي يمثل الناتج النهائي المراد الوصول له.
اما القيمة المرتجعه من getResult فهي عبارة عن كائن “Object” من نوع ArrayList يحتوي على جميع الاحتمالات الصحيحة لحل اللغز .

طريقة استخدام الـ Class :

بما ان اللغز لا حل له فإن البرنامج لان يطبع اي قيمة , ولكن عند تجربة القيم التالية:

 

Output:

Share:
0 comments on حل لغز الارقام عن طريق البرمجة

Post a comment

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *