আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি সংখ্যায় এবং বারবার তার অঙ্ক যোগ করে যতক্ষণ না এটি একটি একক সংখ্যার সংখ্যার সাথে যোগাযোগ করে।
আমরা এই সমস্যাটি দুটি পদ্ধতিতে সমাধান করব -
পদ্ধতি 1:লুপ ব্যবহার করা
এই সমাধান বারবার সংখ্যার সংখ্যা যোগ করার জন্য while loops ব্যবহার করে।
উদাহরণ
const num = 123456; const addDigits = (num = 1) => { let sum = num; while(sum % 10 !== sum){ let sum1 = 0; while(sum > 0){ sum1 += sum % 10; sum = Math.floor(sum / 10); } sum = sum1; }; return sum; }; console.log(addDigits(num));
পদ্ধতি 2:একটি ধ্রুবক সময় সমাধান ব্যবহার করা (O(1) সময় জটিলতা)
এই সমাধানটি গণিতের কনগ্রুয়েন্স সূত্র ব্যবহার করে, এবং পাঠকদের এই সমাধানটি আরও ভালভাবে বোঝার জন্য এই সূত্রটি অন্বেষণ করার পরামর্শ দেওয়া হচ্ছে৷
উদাহরণ
const num = 123456; const addDigits = (num = 1) => { let predicate = (num - 1) % 9; return ++predicate; }; console.log(addDigits(num));
আউটপুট
এবং উভয় পদ্ধতির জন্য কনসোলে আউটপুট হবে −
3