गुणन गुणन


11

एक प्रोग्राम लिखें जो इनपुट के रूप में दो पूर्णांक लेता है; पहला कोई भी पूर्णांक हो सकता है और दूसरा पहले नंबर में अंकों की संख्या के बराबर या उससे कम है। इन नंबरों को aऔर bक्रमशः होने दें ।

कार्यक्रम निम्नलिखित करेंगे

  • इतनी संख्या में अंको 1के अंत तक s की संख्या कम से कम विभाज्य है ।aab
  • aहर bअंक के साथ विभाजित करें ।
  • प्रत्येक अनुभाग में अंकों को एक साथ गुणा करें।
  • उत्पादों को एक साथ समेटना (यदि संख्याओं में से एक शून्य है, तो समवर्ती करें 0)।
  • इस प्रक्रिया को तब तक दोहराएं जब तक कि bअंकों की तुलना में कड़ाई से कम संख्या नहीं बनती। इसे आउटपुट के रूप में प्रिंट करें, साथ ही प्रक्रिया की संख्या दोहराई जाती है। इकाइयां आवश्यक नहीं हैं, लेकिन अंतिम संख्या और पुनरावृत्तियों की संख्या के बीच अलगाव का कुछ रूप है।

निम्नलिखित परीक्षण मामलों में, व्यक्तिगत चरणों को समझने के उद्देश्य से दिखाया गया है। यह आपके कार्यक्रम के लिए चरणों को प्रदर्शित करने के लिए आवश्यक नहीं है।

टेस्ट केस 1

1883915502469, 3

कदम

1883915502469          //Iteration 1
188391550246911
188 391 550 246 911
64 27 0 48 9
64270489               //Iteration 2
642704891
642 704 891
48 0 72
48072                  //Iteration 3
480721
480 721
0 14
014                    //Iteration 4
0

नमूना आउटपुट :0, 4

टेस्ट केस २

792624998126442, 4

कदम

792624998126442        //Iteration 1
7926249981264421
7926 2499 8126 4421
756 648 96 32
7566489632             //Iteration 2
756648963211
7566 4896 3211
1260 1728 6
126017286              //Iteration 3
126017286111
1260 1728 6111
0 112 6
01126                  //Iteration 4
01126111
0112 6111
0 6
06

नमूना आउटपुट :06, 4


कार्यक्रम को एक त्रुटि लौटना चाहिए (या बस कुछ भी नहीं प्रिंट करें) यदि b>len(a)। इसके अलावा, b1 के बराबर नहीं हो सकता है या कार्यक्रम एक अनंत लूप में परिणाम देगा।


यह कोड गोल्फ है, इसलिए मानक नियम लागू होते हैं। बाइट्स में सबसे छोटा कोड जीतता है।


क्या यह एक पूर्ण कार्यक्रम होने की आवश्यकता है, या एक कार्य पर्याप्त है?
यपनीपन्न

@Ypnypn एक पूरा कार्यक्रम।
आर्कटिकस

तो अग्रणी शून्य की लंबाई aऔर उत्पादन में भी शामिल है?
mbomb007

@ mbomb007 हां, लेकिन केवल शुरुआती संख्या में। उत्पादों के संघात में शून्य की श्रृंखला को एकल शून्य तक छोटा कर दिया जाएगा।
आर्कटिकस

@ypnypn आपको उस प्रश्न में स्पष्ट रूप से कहना चाहिए। टैग विकी के "मानक नियम" कहते हैं "निम्नलिखित चूक ... उत्तर पूर्ण कार्यक्रम या कार्य (या समतुल्य) हो सकते हैं।"
जोशुआ टेलर

जवाबों:



1

पर्ल 6, 116 बाइट्स

my ($a,$b)=@*ARGS;for 0..* {if $b>$a.chars {$_&&say "$a,$_";last};$a=map({[*] @_},($a~1 x$b-1).comb.rotor($b)).join}
my ($a,$b)=@*ARGS;
for 0..* {
  if $b>$a.chars {$_&&say "$a,$_";last}; # you need a 「;」 if you remove the newline
  $a=map(
    {[*] @_},
    ($a~1 x$b-1).comb.rotor($b)
  ).join
}

1

पायथ, 32 बाइट्स

IglzQf<l=zjk*MsMMc+z*\1%_lzQQQ)z

प्रदर्शन

aइसके बाद दो लाइनों पर इनपुट लेता है b। दो लाइनों पर आउटपुट देता है, परिणाम के बाद संचालन।

तकती: +z*\1%_lzQ

काट: c ... Q

किलों की सूची में परिवर्तित करें: sMM

उत्पाद लें: *M

वापस str में बदलें: jk

वापस असाइन करें: =z

समाप्ति के लिए जाँच करें: <l ... Q

प्रिंट किए गए पुनरावृत्तियों: f ... )

प्रिंट परिणाम: z

क्या कुछ भी मुद्रित करने के लिए प्रारंभिक जांच: IglzQ

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.