मैं कैसे छोटा कर सकता हूं:
p=gets.to_i
a=gets
b=gets.to_i
यदि मेरा इनपुट एक पूर्णांक है, उसके बाद एक स्ट्रिंग है, उसके बाद एक पूर्णांक है?
मैं कैसे छोटा कर सकता हूं:
p=gets.to_i
a=gets
b=gets.to_i
यदि मेरा इनपुट एक पूर्णांक है, उसके बाद एक स्ट्रिंग है, उसके बाद एक पूर्णांक है?
जवाबों:
(अस्वीकरण: मैं रूबी को नहीं जानता, लेकिन यह TIO पर काम करता है )
p,a,b=$*
p=p.to_i
b=b.to_i
30 के बजाय 28 26 बाइट्स ($ * चाल को इंगित करने के लिए स्नैक के लिए धन्यवाद)
आमतौर पर आपके इनपुट / आउटपुट में लैम्बडा के पैरामीटर / रिटर्न वैल्यू होने के साथ लैम्बडा फ़ंक्शन के रूप में उत्तर की अनुमति होती है, इसलिए आप यह कर सकते हैं:
->p,a,b{...}
यदि आपने f
इसे एक चर को सौंपा है, तो इसे कहा जाएगा
f[p,a,b]
यह आम तौर पर इनपुट के प्रकारों को मानने के लिए ठीक है, लेकिन सुरक्षित होने के लिए आप अपने उत्तर में इसका उल्लेख कर सकते हैं।
प्रासंगिक इनपुट / आउटपुट विधियों के बारे में प्रासंगिक मेटा पोस्ट
यदि आपको किसी कारणवश stdin / stdout io के साथ पूर्ण कार्यक्रम की आवश्यकता है, तो आप जो सबसे छोटा कर सकते हैं, वह है -n
ध्वज का उपयोग एक कॉल को छोटा करने के gets.to_i
लिए eval$_
:
p=eval$_
a=gets
b=gets.to_i
-n
ध्वज के साथ अपने कोड चारों ओर से घेरे while gets ... end
है, तो अधिक इनपुट अपने कार्यक्रम खपत की तुलना में आपूर्ति की जाती है, तो कार्यक्रम इच्छा पाश।