मैंने यह जांचने के लिए एक कार्यक्रम लिखा है कि कागज पर समाधान के बारे में मेरा विचार सही है (और यह है)।इस पायथन कोड को सरल बनाएं
कार्य: कितने शून्य 200
यह 48 है 10 से सभी नंबरों के गुणन की पीठ में है और यह एक सरल मैन्युअल गणना करने के लिए है।
मैं गंभीरता से अजगर पर कभी नहीं लिख सकते हैं और यह मैं क्या मिलता है:
mul = 1
for i in range(10, 200 + 1):
mul *= i
string = str(mul)
string = string[::-1]
count = 0;
for c in str(string):
if c == '0':
count += 1
else:
break
print count
print mul
मुझे यकीन है कि यह एक अजगर की तरह इस तरह के भाषा में ही अधिक सुरुचिपूर्ण लिखने के लिए संभव है।
पुनश्च: हाँ, यह एक होमवर्क है, लेकिन मेरा नहीं - तिहाई है कि सभी अनुगामी शून्य का एक इटरेटर हो जाता है मैं सिर्फ एक आदमी ;-)
अच्छा होगा अगर मैं यह समझ सकूं कि यह कैसे काम करता है। –
यह फैक्टोरियल के प्राइम फैक्टरलाइजेशन में फिव्स और जुड़वां की संख्या की गणना करता है (इसलिए 10! 2 फिव्स और 8 जुड़वां होंगे)। 5 * 2 = 10 के बाद से, और अन्य प्राइम संख्याओं को 10 तक गुणा नहीं किया जा सकता है, कारक बनाने में 10 की संख्या (जो पिछली ज़ीरो की संख्या है) न्यूनतम संख्या में मछलियों की संख्या और प्रधानों की संख्या में सबसे कम संख्या है गुणन। फिव्स और जुड़वां की संख्या गणना की गई फैक्टोरियल की तुलना में बहुत छोटी है। – irrelephant
हालांकि सवाल 10-200 के लिए कॉल करता है, यह निश्चित रूप से बहुत बड़ी संख्या के लिए एक बेहतर दृष्टिकोण है। छोटी संख्याओं के लिए, वास्तव में गुणा करने से बाहरी तेजी से हो जाते हैं (कम से कम जब मैंने टाइमिट परीक्षण चलाया)। – snapshoe