2009-07-12 14 views
7

मैं पाइथन के दशमलव मॉड्यूल का उपयोग करके भिन्नताओं के साथ काम कर रहा हूं और मैं केवल एक निश्चित अंश का दोहराना हिस्सा प्राप्त करना चाहता हूं। उदाहरण के लिए: अगर मेरे पास 1/3 था तो मैं 3 प्राप्त करना चाहता हूं, अगर मेरे पास 1/7 था तो मैं 142857 प्राप्त करना चाहता हूं। क्या ऐसा करने के लिए कोई मानक कार्य है?क्या Python में किसी अंश का दोहराव दशमलव भाग प्राप्त करने का कोई तरीका है?

+4

परियोजना यूलर एन ° 26? – ChristopheD

+0

हां, प्रोजेक्ट यूलर एन ° 26. –

+0

मैं समस्या को हल करने का कोई तरीका नहीं मांग रहा था, मैं सिर्फ यह पूछ रहा था कि कोई ऐसा कार्य था जो यह हुआ (जाहिर है यह नहीं है)। –

उत्तर

0

फॉर्म 10 ** के -1 का पहला नंबर खोजें जो कि अंश के संप्रदाय द्वारा बिल्कुल विभाजित होता है, इसे denominator द्वारा विभाजित करता है और संख्याकर्ता द्वारा गुणा करता है और आपको अपना दोहराव हिस्सा मिलता है।

8

चूंकि उत्तर देने के लिए प्रोजेक्ट यूलर (जो आमतौर पर स्टैक ओवरफ्लो पर नहीं किया जाता है) के लिए एक स्पूइलर हो सकता है, मैं यह संकेत देना चाहता हूं: this (सेक्शन 1.2 को घंटी बजाना चाहिए) पढ़ें।

+0

यह खराब होने के बिना एक बहुत अच्छा संकेत है, यह समझने के लिए कि यहां क्या हो रहा है, गणित को एक मजेदार व्यायाम बनाता है – hansaplast

2

मुझे पता है कि यह सवाल बहुत समय पहले था, लेकिन मुझे लगता है कि लोग शायद इस तरह कुछ खोज रहे हैं, इसलिए मुझे लगा कि मैं कुछ कामों का उल्लेख करूँगा जब से मैंने कोडिंग करने की कोशिश की और आखिर में मेरा दिमाग बदल दिया लंबे विभाजन का उपयोग करके और यह पता लगाना कि पुनरावृत्ति तब होती है जब आप इसमें विभाजित होने के बाद शेष प्राप्त करते हैं। मैं वास्तव में मूल रूप से चींट्स एजामा द्वारा सुझाई गई विधि का उपयोग करने की कोशिश कर रहा था।

मैं इस तरह के आउटपुट को 1/7 के लिए प्राप्त करने का प्रयास कर रहा था, क्योंकि मेरा फ़ंक्शन एक स्ट्रिंग आउटपुट करने का प्रयास कर रहा था जिसे किसी प्रश्न के उत्तर के रूप में उपयोग किया जा सकता था; ".१,४२,८५७ 142,857 ..."

इस तरह के 1/7 के रूप में

दशमलव बहुत आसानी से, चींटियों आसमा द्वारा प्रदान की विधि का उपयोग कर पाए जाते हैं, लेकिन यह दर्दनाक हो जाता है जब आप 1/35 के रूप में कुछ इस तरह की कोशिश - यह एक में विभाजित किया जा नहीं कर सकते 9 एस से भरा नंबर। सबसे पहले, किसी भी denominators को 10 विभाजित करने के लिए कोई कारक नहीं होगा - यानी सभी 5s और 2s को विभाजित करना, 1/35 से 0.2/7

जैसे किसी अंश के लिए 1/70 , मेरा मानना ​​है कि सबसे अच्छा तरीका वास्तव में 1/7 ढूंढना है और फिर दशमलव स्थान के बाद 0 को सही रखना है। 1/35 के लिए, आप इसे दोहराए गए भाग और दशमलव स्थान के बीच 0 के साथ 0.2/7 और फिर 2/7 में परिवर्तित कर देंगे।

चींटियों एजामा की सुझाई गई विधि का उपयोग करते हुए ध्यान में रखने के लिए बस कुछ युक्तियां।

संबंधित मुद्दे