जावास्क्रिप्ट में प्रिंट पैटर्न
मैं पैटर्न में संख्याओं को प्रिंट करना चाहता हूं नीचे भी मुझे यह चाहिए कि लूप के लिए केवल एक का उपयोग करके प्रिंट करें यदि लूप के लिए अंदर की स्थिति में नहीं।
अगर मैं 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()
जवाब
टर्नरी ऑपरेटर के साथ:
const s = 10, b = 2
for (x = s, step = -b; x <= s; step = x + step <= 0 ? -step : step, x += step) {
console.log(x)
}
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);
यह सम और विषम संख्या दोनों के लिए काम करता है:
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)
}