मैं 17 साल की उम्र में पाइथन प्रोग्रामिंग भाषा की मदद से प्रोग्रामिंग के साथ शुरुआत कर रहा हूं।क्या कोई शायद मुझे सिखा सकता है कि इस 'प्रिंट को एनएच प्राइम नंबर' स्क्रिप्ट पर कैसे अनुकूलित किया जाए?
मैं इस एल्गोरिदम को अनुकूलित करने की कोशिश कर रहा हूं, शायद लूप में से एक को हटाकर, या प्राइम नंबरों की जांच के लिए बेहतर परीक्षण के साथ।
100000 प्राइम संख्याओं की गणना करने और प्रदर्शित करने की कोशिश करने के लिए स्क्रिप्ट को लगभग 6 सेकंड तक रोकना पड़ता है क्योंकि यह प्रिम्स सूची को कंसोल पर आउटपुट के रूप में वापस करने से पहले प्राइम के साथ सूची को पॉप्युलेट करता है।
मैं
print odd,
का उपयोग कर बस हर पाया अभाज्य संख्या है, जो तेजी से n = 1000 जैसे छोटे आदानों के लिए है मुद्रित करने के लिए के साथ प्रयोग किया गया है, लेकिन एन = 1000000 सूची के लिए अपने आप में बहुत तेजी से प्रिंट (दोनों पायथन खोल और कंसोल में)।
शायद संपूर्ण कोड/एल्गोरिदम को संशोधित किया जाना चाहिए, लेकिन लिपि अनिवार्य रूप से वही रहनी चाहिए: उपयोगकर्ता मुद्रित होने के लिए प्राइम संख्याओं की संख्या में टाइप करता है (एन) और स्क्रिप्ट सभी प्रमुख संख्याओं को एनएच प्राइम तक लौटाती है नंबर।
from time import time
odd = 1
primes = [2]
n = input("Number of prime numbers to print: ")
clock = time()
def isPrime(number):
global primes
for i in primes:
if i*i > number:
return True
if number%i is 0:
return False
while len(primes) < n:
odd += 2
if isPrime(odd):
primes += [odd]
print primes
clock -= time()
print "\n", -clock
raw_input()
मैं एटकिन की चलनी की तरह एक चलनी उपयोग करने के लिए पूरी स्क्रिप्ट पुनर्लेखन करना चाहते हो सकता है: http://en.wikipedia.org/wiki/Sieve_of_Atkin
हालांकि, मैं बस अजगर पर अभी शुरुआत कर रहा हूँ (या यहां तक कि प्रोग्रामिंग में: मैं कोड केवल 2 लिखना शुरू किया हफ्ते पहले) और पाइथन में एटकिन एल्गोरिदम की एक चलनी को कोड करने के तरीके के बारे में पता लगाने के लिए यह एक चुनौती होगी।
मैं हर पर :(
यह एक अच्छा सवाल है, लेकिन मुझे लगता है कि यह codereview.stackexchange.com पर बेहतर है। स्टैक ओवरफ़्लो अधिकतर विशिष्ट प्रोग्रामिंग प्रश्नों के लिए होता है जिनके पास निश्चित उत्तर होते हैं। – templatetypedef