एक फ़ंक्शन को लागू करें 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
औरb
32 बिट पूर्णांक होने की गारंटी है, आप 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