Module: البرمجة الديناميكية. الأساسيات


Problem

3 /5


نلعب بالحصى

Problem

ذات مرة في الطفولة ، استمتعنا جميعًا بلعب اللعبة & quot؛ Pebbles & quot؛ أو "خمس حصى" ، كما أسماها أحدهم. & nbsp ؛ بالنسبة للعبة ، كانت هناك حاجة إلى حصى عادية ، والتي يمكن العثور عليها بسهولة في الشارع. كان من الممكن اللعب في أي مكان ؛ كانت الخطوة الأولى للعبة على النحو التالي. وقد أُلقيت الجمرات الخمس كلها على الأرض أمامهم. تم اختيار واحد منهم. هذه كرة جديلة. يتم إلقاء هذه الحصاة في الهواء وأثناء تحليقها ، من الضروري التقاط إحدى الحصى المتبقية على الأرض وإتاحة الوقت للقبض على واحدة تطير بنفس اليد. يتم وضع الحصاة الملتقطة جانبًا ويتكرر الإجراء مع جميع الحصى المتبقية.
في الخطوات التالية ، يزداد عدد الحصى المطلوب التقاطها. كانت الخطوة الأخيرة هي الاختبار ، حيث كان من الضروري رمي جميع الحصى المجمعة في الهواء وإمساكها بظهر اليد ، ثم رميها مرة أخرى وإمساكها براحة اليد. كم عدد الحصى المتبقية في النهاية ، تحصل على العديد من النقاط. ينتقل الدور إلى اللاعب التالي ، الذي يكرر أيضًا جميع الخطوات. ثم انطلقت جولة جديدة من اللعبة. وكان الفائز هو الذي سجل أكبر عدد من النقاط في جميع الجولات.
جعل الكثير من اللاعبين اللعبة صعبة بشتى الطرق.
لنفترض أن الرجال لديهم عدد لا حصر له من الحصى ملقاة على الأرض. في نهاية الجولة ، لا يحتاجون إلى الإمساك بجميع الحصى الموجودة في راحة يدهم ، ولكن يكفي بالضبط بحيث يزيد إجمالي عدد النقاط بمقدار 1 أو مضاعفات أو ثلاث مرات. قبل بدء اللعبة ، حصل كل شخص بالفعل على نقطة واحدة. سيكون الفائز هو الذي يحصل على نقاط N بشكل أسرع.
لنفترض أن جميع اللاعبين لديهم خبرة كافية في اللعب ، وأنهم دائمًا ما يصلون إلى الاختبار بعدد الأحجار التي يحتاجون إليها (حتى يتمكنوا من زيادة العدد المطلوب من النقاط بمقدار 1 أو مرتين أو ثلاث مرات).

حدد الحد الأدنى لعدد الجولات التي تحتاجها للعب للحصول على العدد المحدد من النقاط N من 1 & nbsp؛ .

إدخال

يتلقى البرنامج رقمًا واحدًا كإدخال لا يتجاوز 10 6 .


الإخراج

تحتاج إلى طباعة رقم واحد: أقل عدد من العمليات التي تبحث عنها. نبسب ؛

نبسب ؛

أمثلة <الجسم>
# إدخال الإخراج
1 1 0
2 5 3
3 32718 17

نبسب ؛