কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে উলাম (Ulam) সংখ্যা সিকোয়েন্স তৈরি করা

গণিতজ্ঞ উলাম একটি পজিটিভ ইন্টিজার n (n>0) থেকে নিচের নিয়মে সংখ্যা সিকোয়েন্স তৈরি করার প্রস্তাব দিয়েছিলেন:

  • n = 1 হলে স্টপ।
  • n সম হলে পরের সংখ্যা = n/2।
  • n বিজোড় হলে পরের সংখ্যা = 3*n + 1।
  • প্রক্রিয়া ১ পাওয়া পর্যন্ত চলবে।

উদাহরণ: 3->10->5->16->8->4->2->1

একটি ফাংশন লিখতে হবে যা একটি সংখ্যা ইনপুট নিয়ে উলাম সিকোয়েন্স রিটার্ন করবে।

উদাহরণ

কোডটি নিচে দেওয়া হলো:

const num = 7;
const generateUlam = num => {
    const res = [num];
    if(num && num === Math.abs(num) && isFinite(num)){
        while (num !== 1) {
            if(num % 2){
                num = 3 * num + 1
            }else{
                num /= 2;
            };
            res.push(num);
        }
    }else{
        return false;
    };
    return res;
};
console.log(generateUlam(num));
console.log(generateUlam(3));

আউটপুট

কনসোলে নিচের আউটপুটটি দেখাবে:

[ 7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1 ]
[ 3, 10, 5, 16, 8, 4, 2, 1 ]
  1. জাভাস্ক্রিপ্টে সংখ্যার অঙ্কগুলোর যোগফল কতবার করা যায় (Additive Persistence)

  2. জাভাস্ক্রিপ্টে সংখ্যাকে অক্ষরে রূপান্তর করুন

  3. জাভাস্ক্রিপ্টে সংখ্যা ফ্যাক্টরাইজ করা

  4. জাভাস্ক্রিপ্টে সংখ্যাকে প্যালিনড্রোম বানানোর ধাপ গণনা