मैं कोड की दक्षता में सुधार के लिए बुनियादी ज्ञान का उपयोग करना चाहता हूं। मुझे पता है कि बाइनरी सिस्टम में। जब संख्या का अंतिम अंक 1 है, तो यह एक विषम संख्या है। और 0 भी संख्या है। पायथन में एक इंट संख्या का न्याय करने के लिए इस तरीके का उपयोग कैसे करें? क्या वह अजगर ऐसा करने के लिए कोई अंतर्निहित तरीका है?एक इंट संख्या अजीब या यहां तक कि कैसे न्याय करें? (द्विआधारी तरीका)
उत्तर
और यह 1 के साथ:
0000101001000101
0000000000000001
&
__________________
0000000000000001
आप 1
मिलता है, संख्या विषम है। यदि आपको 0
मिलता है, तो संख्या भी है। हालांकि यह काम करता है, मैं सापेक्ष ऑपरेटर के बजाय प्रयोग करेंगे:
>>> 8888 % 2
0
>>> 8881 % 2
1
यह उसी तरह काम करता है, बस के रूप में तेज है और लग रहा है अच्छा:
In [65]: %timeit random.randint(1, 1000000) & 1 == 0
1000000 loops, best of 3: 1.02 us per loop
In [66]: %timeit random.randint(1, 1000000) % 2 == 0
1000000 loops, best of 3: 1.03 us per loop
आप, संख्या और 1 &
सकते हैं यदि आप 0
प्राप्त करें तो संख्या भी है, 1
का अर्थ है कि संख्या विषम है।
>>> 2 & 1
0
>>> 3 & 1
1
आप निम्नतम बिट सेट होने पर जांचने के लिए &
ऑपरेटर का उपयोग कर सकते हैं;
a = 77
is_odd = bool(a & 1)
print is_odd # Prints True
a = 64
is_odd = bool(a & 1)
print is_odd # Prints False
** अजगर: कम से कम महत्वपूर्ण बिट विधि **
>>> def is_odd(i): return bool(i & 1)
>>> def is_even(i): return not is_odd(i)
>>> [(j, is_odd(j)) for j in range(10)]
[(0, False), (1, True), (2, False), (3, True), (4, False), (5, True), (6, False), (7,
True), (8, False), (9, True)]
>>> [(j, is_even(j)) for j in range(10)]
[(0, True), (1, False), (2, True), (3, False), (4, True), (5, False), (6, True), (7,
False), (8, True), (9, False)]
>>>
देखें इस कर सकते हैं या में मदद करता है नहीं है।
स्पष्टीकरण:
परीक्षण करें कि एक पूर्णांक भी अजीब है या नहीं। इस कार्य को हल करने के एक से अधिक तरीके हैं: यदि भाषा उन्हें प्रदान करती है तो भी और विषम भविष्यवाणियों का उपयोग करें। कम से कम महत्वपूर्ण अंक की जांच करें। द्विआधारी पूर्णांक के साथ, मैं bitwise- और 1 बराबर 0 iff मैं भी है, या 1 iff के बराबर है मैं विषम है। मैं 2 से विभाजित करता हूं। शेष 0 iff के बराबर है। शेष +1 या -1 iff के बराबर है मैं अजीब है। मॉड्यूलर congruences का उपयोग करें: मैं ≡ 0 (मोड 2) iff मैं भी है। मैं ≡ 1 (मोड 2) iff मैं विषम है।
परीक्षण करें कि एक पूर्णांक भी अजीब है या नहीं। इस कार्य को हल करने के लिए एक से अधिक तरीका नहीं है: भी और अजीब विधेय का प्रयोग करें, यदि भाषा उन्हें प्रदान करता है। कम से कम महत्वपूर्ण अंक की जांच करें। द्विआधारी पूर्णांक के साथ, मैं bitwise- और 1 बराबर 0 iff मैं भी है, या 1 iff के बराबर है मैं विषम है। मुझे 2 से विभाजित करें। शेष 0 iff के बराबर है। शेष +1 या -1 iff के बराबर है मैं अजीब है। उपयोग मॉड्यूलर congruences: मैं ≡ 0 (आधुनिक 2) iff मैं भी है। i ≡ 1 (मोड 2) iff मैं विषम है। –
# Modular Congruencies #
>> def is_even(i):
return (i % 2) == 0
>>> is_even(1)
False
>>> is_even(2)
True
>>>
@ विन्सिमा एक और आसान तरीका! –
- 1. यहां तक कि अजीब कमांड लाइन पैरामीटर कैसे प्राप्त करें?
- 2. यहां तक कि एक सूची भी?
- 3. रेगेक्स विषम/यहां तक कि राशि
- 4. यह जांचना कि कोई एनएसआईएनटेगर अजीब है या यहां तक कि
- 5. पायथन - संख्या आकार पर अजीब/यहां तक कि संख्याओं और बदलते आउटपुट की जांच
- 6. द्विआधारी संख्या
- 7. रूबी: एक द्विआधारी संख्या
- 8. आधा-यहां तक कि गोलिंग
- 9. अजीब और यहां तक कि पंक्तियों पर विभिन्न सीएसएस शैली
- 10. जीवीआईएम: अजीब और यहां तक कि लाइनों के विभिन्न रंग
- 11. यहां तक कि एक निश्चित आकार
- 12. तरल टेम्पलेट्स: यहां तक कि/पाश
- 13. विषम/यहां तक कि डेटाग्रिडव्यू पंक्तियां पृष्ठभूमि रंग
- 14. यहां तक कि एक एप्लिकेशन पूल रीसायकल क्यों?
- 15. मोंगोडीबी: धीमी क्वेरी, यहां तक कि सूचकांक
- 16. AngularJS ngRepeat: यहां तक कि अजीब तत्वों को अलग करने के लिए कैसे?
- 17. तत्व के पिछले या अगले तत्व का न्याय कैसे करें jquery के साथ मौजूद है?
- 18. java.lang.OutOfMemoryError यहां तक कि एक कोशिश-पकड़ ब्लॉक में?
- 19. बी-ट्री - यहां तक कि चाबियों की संख्या के साथ नोड क्यों नहीं हो सकता है?
- 20. रूबी: हैश की तरह सरणी, यहां तक कि कुंजी हालांकि
- 21. tr: nth-child (यहां तक कि) मदद। एक वर्ग पर आवेदन कैसे करें?
- 22. आईई: nth-child() अजीब/यहां तक कि काम नहीं कर रहा है
- 23. HashSet यहां विधि, अजीब व्यवहार
- 24. .NET x64 में भी-लूप प्रदर्शन विषमता: यहां तक कि संख्या-पुनरावृत्ति संबंध भी?
- 25. multiprocessing.Queue से निकट-LIFO व्यवहार प्राप्त करने का एक साफ तरीका? (या यहां तक कि * नहीं * निकट-फीफो)
- 26. इंट संख्या को डबल नंबर में कैसे परिवर्तित करें?
- 27. ढूँढना एक द्विआधारी ढेर
- 28. jQuery क्लोन() ईवेंट बाइंडिंग क्लोनिंग नहीं, यहां तक कि()
- 29. स्क्रिप्ट अनुमति त्रुटि, यहां तक कि CORS सक्षम
- 30. मैं एक एक्सएमएल दस्तावेज़ को तीसरे (या यहां तक कि बेहतर, एन टुकड़े) में कैसे विभाजित कर सकता हूं?
मैंने पहले इस विधि का उपयोग। धन्यवाद – Vinceeema