आपका लक्ष्य कुछ कोड लिखना है जो इनपुट अंश के लिए सबसे कम अद्वितीय दशमलव अनुक्रम का उत्पादन करेगा। समान भाजक वाले दो भिन्नों का समान आउटपुट नहीं हो सकता है, हालाँकि भिन्न भिन्न के साथ भिन्न होने के लिए एक ही निरूपण संभव है।
इनपुट के रूप में 2 पूर्णांक लें , पहला अंश है, दूसरा हर है।
उदाहरण के लिए:
n d output
----- ------
0 13: 0.00
1 13: 0.07
2 13: 0.1
3 13: 0.2
4 13: 0.30
5 13: 0.38
आदि।
3/13
13 के एक भाजक के साथ एकमात्र अंश है जो इसके साथ शुरू होता है 0.2
, इसलिए आगे के अंकों की आवश्यकता नहीं है। 4/13
और 5/13
दोनों के साथ शुरू होता है 0.3
, इसलिए उनके बीच अंतर करने के लिए एक और अंक की आवश्यकता होती है।
आप कर सकते हैं उत्पादन की तुलना में अधिक से अधिक -1 और कम से कम के साथ या एक शून्य दशमलव बिंदु से पहले बिना 1 नंबर, जब तक उत्पादन अनुरूप है, यानी 0.5
और .5
एक ही नंबर हैं और दोनों मान्य हैं। किसी अन्य प्रमुख शून्य को अनुमति नहीं है। यदि उन्हें किसी अन्य मान से आउटपुट को अलग करना आवश्यक हो, तो ट्रेलिंग शून्य दिखाया जाना चाहिए।
आप किसी भी संख्या को शून्य से दूर नहीं कर सकते हैं; उन्हें काट दिया जाना चाहिए। कोई अग्रणी या अनुगामी स्थान नहीं होना चाहिए। वैकल्पिक रूप से एक एकल अनुगामी न्यूलाइन हो सकती है।
अधिक परीक्षण मान:
n d output
---------- ------
0 1: 0 (this 0 may not be removed because there's no decimal point)
5 1: 5
0 3: 0.0 (or .0)
4 3: 1.3
5 3: 1.6
10 8: 1.2
11 8: 1.3
12 8: 1.5
-496 -38: 13.05
458 -73: -6.27
70 106: 0.660 (or .660)
255 123: 2.07
256 -123: -2.081
-257 -123: 2.089
-258 123: -2.09
258 -152: -1.697
-259 152: -1.70
260 152: 1.710
272 195: 1.39
380 247: 1.538
455 -455: -1.000
-44 891: -0.049 (or -.049)
123 1234: 0.099 (or .099)
प्रत्येक मामले में, आउटपुट और भाजक संख्यात्मक रूप से विशिष्ट रूप से कार्य करने के लिए पर्याप्त हैं।
/b
औरi
करने के लिएp
आप ऐसा कर सकते हैं और साथ ही उन्हें अंदर कोडp
ही है और बस एक ही पैरामीटर ले। इसके अलावा जवाब सिर्फn
इतना है कि आपको इसे फिर से गणना करने की आवश्यकता नहीं है। मैं एक पुनरावर्ती ES6 संस्करण केवल 86 बाइट्स पर इस पर आधारित है ...