मुझे पहले से मौजूद किसी भी संख्या को गुणा करने के लिए यादृच्छिक -1 या 1 बनाना होगा। समस्या यह है कि मेरा वर्तमान यादृच्छिक फ़ंक्शन -1, 0, या 1 उत्पन्न करता है। ऐसा करने का सबसे प्रभावी तरीका क्या है?जावास्क्रिप्ट यादृच्छिक सकारात्मक या नकारात्मक संख्या
उत्तर
अपने मौजूदा फ़ंक्शन का उपयोग न करें - बस Math.random()
पर कॉल करें। तो < 0.5 -1, और 1:
var plusOrMinus = Math.random() < 0.5 ? -1 : 1;
:
var plusOrMinus = [-1,1][Math.random()*2|0];
या
var plusOrMinus = Math.random()*2|0 || -1;
लेकिन तुम्हें क्या लगता पोषणीय हो जाएगा का उपयोग करें।
एक ओर, मुझे कहना चाहिए कि पठनीयता के लिए कुछ कहा जाना चाहिए। दूसरी ओर, मेरे उत्तर से 3 वर्णों को शेविंग करने के लिए कुडोस (हालांकि मैं तर्क दे सकता हूं कि सभी 3 वर्ण अनावश्यक सफेद जगह हैं)। यदि आप '0.5' से' 0' को भी खत्म करते हैं तो मेरा 1 वर्ण छोटा होता है। :-) – ziesemer
हाँ, बस मस्ती के लिए। :-) – RobG
जो कोड का एक टुकड़ा है! – egidiocs
मैं हमेशा
Math.round(Math.random()) * 2 - 1
के रूप में यह सिर्फ एक तरह से समझ में आता है के एक प्रशंसक किया गया है।
Math.round(Math.random())
आप 0 या 1दे देंगे 2 से परिणाम गुणा आप 0 या 2
दे देंगे और फिर 1 घटाने पर आपको देता -1 या 1.
सहज ज्ञान युक्त!
पिछले उत्तरों के रूप में इसे करने के लिए वास्तव में बहुत सारे तरीके हैं।
गणित.गोल() और math.random का सबसे तेजी से किया जा रहा है संयोजन:
// random_sign = -1 + 2 x (0 or 1);
random_sign = -1 + Math.round(Math.random()) * 2;
तुम भी गणित.क्योंकि (उपयोग कर सकते हैं) (which is also fast):
// cos(0) = 1
// cos(PI) = -1
// random_sign = cos(PI x (0 or 1));
random_sign = Math.cos(Math.PI * Math.round(Math.random()));
कारण है कि आप की कोशिश न :
(Math.random() - 0.5) * 2
अभी भी यादृच्छिक संख्या के अतिरिक्त लाभ के साथ ऋणात्मक मूल्य रखने का 50% मौका उत्पन्न बियर
या यदि वास्तव में एक -1/1 की जरूरत है:
Math.ceil((Math.random() - 0.5) * 2) < 1 ? -1 : 1;
- 1. यादृच्छिक और नकारात्मक संख्या
- 2. रूबी: नकारात्मक संख्या को सकारात्मक संख्या में बदलें?
- 3. नकारात्मक छवि को सकारात्मक
- 4. नकारात्मक से सकारात्मक सीमा तक यादृच्छिक फ्लोट का निर्माण?
- 5. जावास्क्रिप्ट यादृच्छिक संख्या?
- 6. नकारात्मक संख्या
- 7. सकारात्मक संख्या को नकारात्मक और इसके विपरीत कैसे बदलें?
- 8. एक नकारात्मक संख्या को सकारात्मक में कैसे परिवर्तित करें?
- 9. मैं सकारात्मक संख्या को नकारात्मक में कैसे परिवर्तित करूं?
- 10. जांचें कि इंटीजर सकारात्मक या नकारात्मक है - उद्देश्य सी
- 11. यादृच्छिक संख्या: 0 या 1
- 12. स्वरूप TimeSpan: सकारात्मक और नकारात्मक timespans
- 13. रेगेक्स - सकारात्मक और नकारात्मक दिखने वाला
- 14. क्यों अहस्ताक्षरित int नकारात्मक संख्या
- 15. यादृच्छिक संख्या
- 16. नकारात्मक मुद्रा संख्या XAML
- 17. यादृच्छिक संख्या इतनी यादृच्छिक नहीं
- 18. सी (लिनक्स) में यादृच्छिक संख्या यादृच्छिक संख्या कैसे करें?
- 19. कंपाइलर और नकारात्मक संख्या प्रतिनिधित्व
- 20. की अनुमति दें केवल सकारात्मक दशमलव संख्या
- 21. सकारात्मक/नकारात्मक अक्षांश और देशांतर बनाम प्रमुख दिशाओं मूल्यों
- 22. गैर दोहराव यादृच्छिक संख्या
- 23. विशेष यादृच्छिक संख्या
- 24. एक यादृच्छिक संख्या जनरेटर
- 25. एक यादृच्छिक संख्या
- 26. एंड्रॉइड एमुलेटर: नकारात्मक संख्या डालें?
- 27. सकारात्मक संख्या से पहले एक प्लस चिह्न संलग्न करें?
- 28. समवर्ती यादृच्छिक संख्या पीढ़ी
- 29. यादृच्छिक संख्या जनरेटर
- 30. संभाव्यता यादृच्छिक संख्या जेनरेटर
निर्माण पूरी तरह से, मजाकिया मैं नहीं एक जवाब कहीं भी ऑनलाइन मिल सकता है। –
अच्छा सुरुचिपूर्ण समाधान, धन्यवाद –