एक फ़ंक्शन को लागू करें divide(int a, int b, int c)जो आधार 10 के मूल्य को प्रिंट करता है a/b। बिना किसी फ़्लोटिंग पॉइंट गणित और BigInteger/ BigDecimalया समकक्ष पुस्तकालयों का उपयोग किए बिना । नीचे बिंदु 4 में (संभव) अपवाद को छोड़कर, cसेट के भीतर कम से कम सटीक वर्ण 0123456789.मुद्रित होने चाहिए।
aऔरbकोई भी 32 बिट पूर्णांक हो सकता है। अपडेट: यदि, गोल्फिंग प्रयोजनों के लिए, आप चाहेंगे कि इनपुट 64 बिट प्राइमेटिव्स हो जो ठीक है, लेकिन आपको डेटा की पूरी 64 बिट रेंज का समर्थन करने की आवश्यकता नहीं है।- आपको यह जाँचने की आवश्यकता नहीं है कि
cयह सकारात्मक है (हालाँकि उम्मीद है कि आपका कार्यक्रम दुर्घटनाग्रस्त न हो) यदि ऐसा नहीं है। - के लिए न्यूनतम समर्थित ऊपरी बाउंड
cहै500। यह ठीक है अगर आपका कार्यक्रमcउपरोक्त मूल्यों का समर्थन नहीं करता है500, लेकिन यह भी ठीक है अगर यह करता है। - समान रूप से विभाजित होने वाली संख्याओं के लिए, यह आपकी पसंद है कि क्या अतिरिक्त शून्य प्रिंट करना है (मूल्य के आधार पर
c) या कुछ भी नहीं। - आपको भागफल के साथ आगे के कार्यों को करने के लिए फ़ंक्शन का उपयोग करने में सक्षम होने की आवश्यकता नहीं है, एकमात्र लक्ष्य मुद्रण है।
- के बीच संख्या के लिए
-1और1, यह आपकी पसंद है कि क्या एक प्रमुख प्रिंट करें0। हालांकि, यह एकमात्र ऐसा परिदृश्य है जहां एक अग्रणी शून्य को प्रिंट करना स्वीकार्य है, और आप केवल एक ही शून्य को प्रिंट कर सकते हैं। - आप किसी भी गोलाई / मंजिल / छत के तर्क का उपयोग कर सकते हैं जिसे आप अंतिम दशमलव स्थान के लिए पसंद करते हैं।
- नकारात्मक उत्तर के लिए, आपको एक अग्रणी प्रिंट करना होगा
-। इस ओर ध्यान नहीं जाता हैc। हालांकि, यह अपनी पसंद करता है, तो आप प्रिंट करना चाहते हैं,+या एक सकारात्मक जवाब के लिए कुछ भी नहीं है। - पूर्णांक विभाजन और पूर्णांक मापांक दोनों की अनुमति है। हालांकि, ध्यान रखें कि आप प्राइमरी तक ही सीमित हैं, जब तक कि आप अपनी खुद की
BigInteger/BigDecimalलाइब्रेरी को लागू करने का विकल्प नहीं चुनते हैं जो आपकी कोड लंबाई के खिलाफ गिना जाता है। - आप को संभालने के लिए की जरूरत नहीं है
bकिया जा रहा है0, हालांकि आप अगर आप चाहते हैं कर सकते हैं,। आपका कार्यक्रम एक अनंत लूप, या क्रैश में प्रवेश कर सकता है, यदिb=0, और आपको दंडित नहीं किया जाएगा। - प्रति टिप्पणी थोड़ा सा नियम परिवर्तन। यह सुनिश्चित करने के लिए कि खेल का मैदान स्तर है, जबकि
aऔरb32 बिट पूर्णांक होने की गारंटी है, आप 64 बिट लंबे पूर्णांक का उपयोग कर सकते हैं। यदि आपकी चुनी हुई भाषा एक आदिम के रूप में 64 बिट पूर्णांक से आगे जाती है, तो आप किसी भी बिंदु पर उस कार्यक्षमता का उपयोग नहीं कर सकते हैं (दिखावा करें कि यह 64 बिट पर छाया हुआ है)। - एक और बिंदु जो अस्पष्ट है (इसे वर्तमान मान्य उत्तरों में से किसी को भी नहीं बदलना चाहिए): जबकि
cव्याख्या की जा सकती है या तो मुद्रित वर्णों की संख्या या दशमलव के बाद रिक्त स्थान की संख्या, आपके कार्यक्रम कोcप्रासंगिक तरीके से किसी भी तरह से उपयोग करना चाहिए। यह तय करने के लिए कि कितने वर्ण मुद्रित करने हैं। दूसरे शब्दों में, कीdivide(2,3,2)तुलना में बहुत कम उत्पादन होना चाहिएdivide(2,3,500); 500 अक्षरों को छापना ठीक नहीं हैc। - मैं वास्तव में फ़ंक्शन के नाम के बारे में परवाह नहीं करता हूं।
dगोल्फ उद्देश्यों के लिए ठीक है।
इनपुट
फ़ंक्शन कॉल और रीडिंग दोनों stdinस्वीकार किए जाते हैं। यदि आप से पढ़ते हैं stdin, तो सेट में किसी भी चरित्र को [-0123456789]एक तर्क परिसीमन नहीं माना जाता है।
उत्पादन
stdoutऊपर वर्णित के रूप में वर्ण ।
उदाहरण
के लिए divide(2,3,5), निम्न में से सभी स्वीकार्य आउटपुट हैं:
0.666
0.667
.6666
.6667
0.666
0.667
.6666
.6667
+0.666
+0.667
+.6666
+.6667
एक अन्य उदाहरण: divide(371,3,5)निम्नलिखित के लिए सभी स्वीकार्य आउटपुट हैं:
123.6
123.7
123.6
123.7
+123.6
+123.7
123.66666
123.66667
123.66666
123.66667
+123.66666
+123.66667
और divide(371,-3,5)निम्नलिखित के लिए सभी स्वीकार्य हैं:
-123.6
-123.7
-123.66666
-123.66667
92,3,5उत्तर दिया, उदाहरण के लिए,30.67