সংখ্যা 1 থেকে শুরু করে এবং বারবার হয় 5 যোগ করে বা 3 দ্বারা গুণ করে, একটি অসীম পরিমাণ নতুন সংখ্যা তৈরি করা যেতে পারে। আমাদের এমন একটি ফাংশন লিখতে হবে যেটি, একটি সংখ্যা দিয়ে, এই ধরনের যোগ এবং গুণের একটি ক্রম খুঁজে বের করার চেষ্টা করে যা সেই সংখ্যাটি তৈরি করে। এবং এই ধরনের কোনো ক্রম বিদ্যমান আছে কিনা তার উপর ভিত্তি করে একটি বুলিয়ান প্রদান করে
উদাহরণস্বরূপ,
13 নম্বরে পৌঁছানো যেতে পারে প্রথমে 3 দিয়ে গুণ করে এবং তারপরে 5কে দুবার যোগ করে, তাই ফাংশনটি 13-এর জন্য সত্য হওয়া উচিত। যেখানে 15 নম্বরটি একেবারেই পৌঁছানো যায় না, তাই ফাংশনটি 15-এর জন্য মিথ্যা ফেরত দেওয়া উচিত।
পন্থা
আমরা একটি পুনরাবৃত্ত পদ্ধতি ব্যবহার করব, যেখানে আমরা বারবার সমস্ত সম্ভাবনার চেষ্টা করব যা কাঙ্ক্ষিত সমাধানের দিকে নিয়ে যায়। এই পদ্ধতির কোড হবে −
উদাহরণ
const sequenceExists = (num, curr = 1) => { if(curr > num){ return false; }; if(curr === num){ return true; }; return sequenceExists(num, curr+5) || sequenceExists(num, curr*3); }; console.log(sequenceExists(18)); console.log(sequenceExists(15)); console.log(sequenceExists(32)); console.log(sequenceExists(167)); console.log(sequenceExists(17)); console.log(sequenceExists(1119));
আউটপুট
কনসোলে আউটপুট হবে −
true false true true false true