ধরা যাক আমি আমার গন্তব্য থেকে দশ ধাপ দূরে। "দুই ধাপ এগিয়ে এবং এক ধাপ পিছনে" এই প্রবাদটি অনুসরণ করে আমি সেখানে হাঁটছি। আমি আমার গন্তব্যে ঠিক দাঁড়িয়ে না হওয়া পর্যন্ত আমি দুটি পদক্ষেপ এগিয়ে চলেছি one (এটিতে আমার গন্তব্য পেরিয়ে যাওয়া এবং এতে ফিরে আসা জড়িত থাকতে পারে)। আমি কয়টি পদক্ষেপে হেঁটেছি?
অবশ্যই, আমি 10 ধাপ দূরে হতে পারে না। আমি হতে পারে 11 মাপ দূরে, বা 100. আমি দশ গতি পরিমাপ করতে পারে, এবং সমস্যা সমাধানের জন্য পিছনে এবং হাঁটা চালিয়ে যেতে পারে, বা ... আমি কিছু কোড লিখতে পারে!
- ক্রমানুসারে N পদক্ষেপগুলি পেতে কত পদক্ষেপ নেয় তা কার্যকর করার জন্য একটি ফাংশন লিখুন: দুই ধাপ এগিয়ে, এক ধাপ পিছনে।
- ধরুন আপনি 0 ধাপে শুরু করেছেন "দুটি পদক্ষেপ এগিয়ে" একটি হিসাবে নয়, দুটি পদক্ষেপ হিসাবে গণনা করুন।
- ধরুন সমস্ত পদক্ষেপ একটি সমান দৈর্ঘ্য।
- আপনি যখন সেই জায়গায় পৌঁছেছেন তখন এটি প্রথম পদক্ষেপের সংখ্যাটি ফিরিয়ে আনবে। (উদাহরণস্বরূপ, 10 পদক্ষেপের দূরে 26 টি পদক্ষেপ নেওয়া হয় তবে আপনি এটি 30 ধাপে আবার আঘাত করতে চান)। আমরা 26 টিতে আগ্রহী।
- আপনার পছন্দ মতো যে কোনও ভাষা ব্যবহার করুন।
- এটি কোনও ধনাত্মক পূর্ণসংখ্যা ইনপুট হিসাবে গ্রহণ করবে should এটি লক্ষ্য পদক্ষেপের প্রতিনিধিত্ব করে।
- ক্ষুদ্রতম সংখ্যক বাইট জিতেছে।
উদাহরণ:
আমি 5 টি পদক্ষেপ দূরে পেতে চাই:
| | | | | | <- I'm at step 0, not yet on the grid.
| |X| | | | <- I take two steps forward, I'm on step 2: the count is 2
|X| | | | | <- I take one step back, I'm on step 1: the count is 3
| | |X| | | <- I take two steps forward, I'm on step 3: the count is 5
| |X| | | | <- I take one step back, I'm on step 2 again: the count is 6
| | | |X| | <- I take two steps forward, I'm on step 4: the count is 8
| | |X| | | <- I take one step back, I'm on step 3 again: the count is 9
| | | | |X| <- I take two steps forward, I'm on step 5: the count is 11
এই ক্ষেত্রে, ফাংশনের ফলাফল 11 হবে।
উদাহরণ ফলাফল:
1 => 3
5 => 11
9 => 23
10 => 26
11 => 29
100 => 296
1000 => 2996
10000 => 29996
100000 => 299996
মজা আছে, গল্ফার্স!