हमारे पास r
0 और 1 के बीच एक फ्लोटिंग पॉइंट नंबर है , और एक पूर्णांक है p
।
सबसे छोटे भाजक के साथ पूर्णांक का अंश ज्ञात करें, जो r
कम से कम- p
सटीक परिशुद्धता के साथ सन्निकट है ।
- इनपुट्स:
r
(एक फ्लोटिंग पॉइंट नंबर) औरp
(पूर्णांक)। - आउटपुट:
a
औरb
पूर्णांक, जहांa/b
(फ्लोट के रूप में) अंकr
तक अनुमानित हैp
।b
इस तरह के धनात्मक पूर्णांक संभव सबसे छोटा है।
उदाहरण के लिए:
- यदि
r=0.14159265358979
औरp=9
, - तो परिणाम है ,
a=4687
औरb=33102
- क्योंकि
4687/33102=0.1415926530119026
।
किसी भी समाधान को सिद्धांत में मनमाने ढंग से सटीक प्रकारों के साथ काम करना पड़ता है, लेकिन कार्यान्वयन के निश्चित-सटीक प्रकारों के कारण सीमाएं मायने नहीं रखती हैं।
परिशुद्धता का अर्थ है " 0.
" के बाद अंकों की संख्या r
। इस प्रकार, यदि r=0.0123
और p=3
, तब से a/b
शुरू होना चाहिए 0.012
। यदि p
भिन्नात्मक भाग के पहले अंक r
0 हैं, तो अपरिभाषित व्यवहार स्वीकार्य है।
जीत मानदंड:
- एल्गोरिदम सबसे तेज एल्गोरिथ्म जीतता है। गति को O (p) में मापा जाता है।
- यदि कई सबसे तेज़ एल्गोरिदम हैं, तो सबसे छोटी जीत है।
- मेरे स्वयं के उत्तर को संभावित विजेताओं के सेट से बाहर रखा गया है।
पीएस गणित भाग वास्तव में बहुत आसान है जैसा कि ऐसा लगता है, मैं इस पोस्ट को पढ़ने का सुझाव देता हूं ।
padEnd
और आसपास fiddling हैंmatch
? क्या आपslice
प्रत्येक स्ट्रिंग को सही लंबाई तक नहीं कर सकते हैं और फिर उन्हें घटा सकते हैं?