जावास्क्रिप्ट में प्रिंट पैटर्न

Nov 05 2020

मैं पैटर्न में संख्याओं को प्रिंट करना चाहता हूं नीचे भी मुझे यह चाहिए कि लूप के लिए केवल एक का उपयोग करके प्रिंट करें यदि लूप के लिए अंदर की स्थिति में नहीं।

अगर मैं s = 7आउटपुट पैटर्न देता हूं7, 5, 3, 1, 3, 5, 7

अगर है s=6तो आउटपुट है6, 4, 2, 4, 6

यही मैंने कोशिश की लेकिन सफल नहीं हुआ।

const s = 7, b = 2

for (x = s, d = b; x > 0 && x <= 7; x -= 2) {
  console.log(x)
}

मैं इस तरह के रूप में इसे प्राप्त करने के लिए किसी भी पूर्व निर्मित पुस्तकालयों का उपयोग नहीं करना चाहता Math.abs()

जवाब

1 maraca Nov 05 2020 at 07:32

टर्नरी ऑपरेटर के साथ:

const s = 10, b = 2

for (x = s, step = -b; x <= s; step = x + step <= 0 ? -step : step, x += step) {
  console.log(x)
}

1 ShridharRKulkarni Nov 05 2020 at 07:12

var s = 7, b = 2, x, d;
var front = " ", back = " ";

for (x = s, d = b; x - b > 0 ; x -= b) {
    front = front + " " + x; 
    back = x + " " + back;
}
console.log(front + " " + x + " " + back);

TejaGoudKandula Nov 05 2020 at 08:18

यह सम और विषम संख्या दोनों के लिए काम करता है:

const s = 8, b = 2

for (x=s,step = b; x <=s ; (x===1 || x===2) ? (step = -b, x = x-step ): x= x-step) {
    console.log(x)
}

मैंने जो किया है वह यह है कि वेतनवृद्धि / वेतन वृद्धि ब्लॉक में जब x विषम संख्याओं के लिए 1 के बराबर हो या जब x समान संख्याओं के लिए 2 के बराबर हो तो चरण को सकारात्मक से ऋणात्मक में बदल दिया जा रहा है।

बढ़ते क्रम में संख्याओं को मुद्रित करने के लिए:

const s = 10

for ( x=0,step=1; x!== -1 ; x===s ? (step = -1, x = x+step): x= x+step) {
    console.log(x)
}