एक गणितज्ञ उलम ने किसी भी धनात्मक पूर्णांक n (n>0) से संख्याओं के अनुक्रम को निम्नानुसार उत्पन्न करने का प्रस्ताव दिया -
यदि n 1 है, तो यह रुक जाएगा। यदि n सम है, तो अगली संख्या n/2 है। यदि n विषम है, तो अगली संख्या 3 * n + 1 है। 1. तक पहुँचने तक प्रक्रिया जारी रखें।पूर्व>यहां पहले कुछ पूर्णांकों के लिए कुछ उदाहरण दिए गए हैं -
2->13->10->5->16->8->4->2->14->2->16->3->10->5->16->8->4->2->17->22->11->34->17->52->26->13->40->20->10->5->16->8->4 ->2->1हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक संख्या लेता है और उस संख्या से शुरू होने वाले उलम अनुक्रम को लौटाता है।
उदाहरण
इसके लिए कोड होगा -
const num =7;const generateUlam =num => {const res =[num]; if(num &&num ===Math.abs(num) &&isFinite(num)){ जबकि (num !==1) { अगर(num% 2){ num =3 * num + 1}else{ num /=2; }; रेस.पुश (संख्या); }; } और { झूठी वापसी; }; वापसी 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]