सबसे छोटा धनात्मक पूर्णांक ज्ञात कीजिये जो n में समाप्त होता है, n से विभाज्य है और जिसका अंक n से n है


33

यह सब शीर्षक में है ...

इनपुट को धनात्मक पूर्णांक के रूप में लें n>=12और ... शीर्षक क्या कहते हैं, यह करें।

हां, यह OEIS A187924 पर है

कुछ परीक्षण मामले

12 -> 912  
13 -> 11713  
14 -> 6314  
15 -> 915  
16 -> 3616  
17 -> 15317  
18 -> 918  
19 -> 17119 
20 -> 9920  
40 -> 1999840   
100-> 99999999999100

यह । बाइट्स जीत में सबसे छोटा कोड!


टिप्पणियाँ विस्तारित चर्चा के लिए नहीं हैं; इस वार्तालाप को बातचीत में स्थानांतरित कर दिया गया है ।
मार्टिन एंडर

चैट करने के लिए ले जाया गया था का एक हिस्सा बंद करने के लिए: OEIS के लिए मेरा संपादन साबित कर रहा है कि 11 केवल एक समाधान के बिना संख्या केवल अनुमोदित है।
अर्जन जोहान्सन

जवाबों:


19

बेफुंज, 81 बाइट्स

&>00p0v<!%g0<
v%"d":_>1+:0^
>00g->#^_:0v
0g10g-#^_.@1>
>0p:55+/\:v>
^1+g01%+55_$^

इसे ऑनलाइन आज़माएं!

N = 70 तक कम से कम संभाल सकते हैं , जिसके बाद कुछ मान ढेर सारे कार्यान्वयन पर स्टैक सेल आकार को ओवरफ्लो करना शुरू कर देंगे, और उन पर जो ऐसा नहीं करते हैं, यह इतना लंबा समय लेगा कि यह पता लगाने के लिए इंतजार करने लायक नहीं है।

इन प्रतिबंधों का देखते हुए, हम भी के मूल्यों को संभालने की कोशिश कर परेशान नहीं है एन 99 से अधिक है, जिसका अर्थ है हम कर सकते हैं और अधिक आसानी से परीक्षण करता है, तो में मूल्य समाप्त हो जाती है n बस के साथ मूल्य सापेक्ष 100 की तुलना द्वारा साथ एन

नीचे कोड का अधिक विस्तृत ब्रेकडाउन है।

निष्पादन कोड वाले स्रोत कोड हाइलाइट किए गए

*स्टड से एन पढ़ें और स्मृति में सहेजें।
*परीक्षण मूल्य प्रारंभ वी 0 के लिए और मुख्य पाश शुरू, incrementing वी सामने।
*यदि v%n == 0मुख्य लूप की शुरुआत में वापस आए और नहीं तो टेस्ट करें ।
*यदि v%100 == nमुख्य लूप की शुरुआत में वापस आए और नहीं तो टेस्ट करें । V
* में अंकों को बार-बार जोड़कर v मोडुलो 10 और विभाजित करके v । 10. टेस्ट करें यदि योग n के बराबर है , और यदि मुख्य लूप की शुरुआत में वापस नहीं आता है। अन्यथा आउटपुट वी और बाहर निकलें।
*
*


12

05AB1E , 14 बाइट्स

[NI«ÐIÖsSOIQ*#

इसे ऑनलाइन आज़माएं!

व्याख्या

बड़े उपसर्गों की आवश्यकता वाले समाधान टीआईओ पर समय निकालेंगे

[                # start a loop
 NI«             # append input to current iteration number
    Ð            # triplicate
     IÖ          # is the first copy evenly divisible by input?
       sSOIQ     # is the digit sum of the second copy equal to the input?
            *    # multiply
             #   # if true, break loop
                 # output the third copy

अगर ऐसा लगता है जैसे 05AB1E धोखा दे रहा है, क्योंकि यह बहुत अच्छा है। मील द्वारा इसे हराने का एकमात्र तरीका एक प्रोग्रामिंग 'कम्प्रेशन' भाषा बनाना होगा जो पिछली भाषा को संदर्भित करता है। मैं ans = dic [1] lol
पाथफाइंडर

@ पैथफ़ाइंडर: वहाँ की भाषाएँ हैं जो लगातार 05AB1E को हरा सकती हैं, इसलिए हम अभी भी कुछ छोटा देखने की उम्मीद कर सकते हैं :)
एमिग्ना

12

जावास्क्रिप्ट (ईएस 6), 55 54 बाइट्स

f=(s,p=0,a=p+s)=>a%s|eval([...a].join`+`)-s?f(s,p+1):a
<input type=number min=12 oninput=o.textContent=f(this.value)><pre id=o>

एक स्ट्रिंग के रूप में इनपुट लेता है। बड़े परिणामों के लिए पूंछ पुनरावृत्ति समर्थन वाले ब्राउज़र की आवश्यकता है। संपादित करें: @Annauld के लिए 1 बाइट धन्यवाद सहेजा गया।


eval([s,...a].join`-`)?यह भी काम करेगा, हालांकि यह कोई छोटा नहीं है ...
ETHproductions

@Arnauld नहीं, मैं सिर्फ यह भूल गया कि मैं ऐसा कर सकता हूं ||
नील

8

ब्रेकीलॉग v2, 12 10 बाइट्स

a₁.;A×?≜ẹ+

इसे ऑनलाइन आज़माएं!

यह एक फ़ंक्शन सबमिशन है जो इनपुट लेता है .और आउटपुट के माध्यम से उत्पादन करता है ?(सामान्य सम्मेलन के विपरीत; सभी Brachylog फ़ंक्शन के पास वास्तव में दो तर्क हैं, जो इनपुट या आउटपुट तर्क हो सकते हैं, लेकिन भाषा किसी विशेष तर्क उपयोग को लागू नहीं करती है)। हम आम तौर पर PPCG में प्रासंगिक होने के लिए तर्क के उपयोग के सम्मेलनों पर विचार नहीं करते हैं

व्याख्या

इस समाधान के पिछले संस्करण में Ḋ|एकल अंकों के लिए एक विशेष मामला था ( अर्थात, "रिटर्न अंक शाब्दिक रूप से"), लेकिन प्रश्न स्पष्ट रूप से बताता है कि आपको इसके लिए जांच नहीं करनी है (धन्यवाद @DLosc को पकड़ने के लिए), इसलिए मैंने हटा दिया यह। (जैसा कि लिखित समाधान एकल अंकों पर काम नहीं करेगा, क्योंकि ब्रैन्कलॉग 1 को एक गुणा में अनजान के लिए एक संभावना के रूप में नहीं माना जाएगा, अनंत छोरों को रोकने के लिए; इसके गुणन मनमाने ढंग से होते हैं।)

तो यह जवाब अब विनिर्देश के एक बहुत प्रत्यक्ष अनुवाद के लिए चला जाता है। के साथ शुरू ?(उत्पादन / संख्या हम खोजने की कोशिश कर रहे हैं, एक Brachylog विधेय हमेशा परोक्ष साथ शुरू होता है ?) उपयोग हम a₁.बात पर जोर देना यह है कि .(इनपुट) एक प्रत्यय के रूप में। तब ;A×?इसका मतलब है कि हम ×कुछ ( ;A) ?( उत्पादन) का उत्पादन करने के लिए परिणाम ( ) से गुणा कर सकते हैं । अंत में, ẹ+sums ( +) अंक ( ) के ?, और अंतिम रूप से उत्पन्न होने वाले हर Brachylog प्रोग्राम के अंत में एक अंतर्निहित दावे को डिफ़ॉल्ट रूप से होता है .। तो दूसरे शब्दों में, यह कार्यक्रम " .एक प्रत्यय है ?, .जिसे किसी वस्तु से गुणा किया जाता है ?, .का अंक योग है।"?", जो मूल कार्यक्रम के शाब्दिक अनुवाद के बहुत करीब है।

आवश्यक है के लिए अंकों योग आवश्यकता लागू किए जाने के। मुझे लगता है कि कुछ अज्ञात के बारे में पसंद नहीं करता है, इसलिए ब्रेजलॉग बताता है कि बीजगणित के बजाय कार्यक्रम के उस हिस्से के लिए एक जानवर-बल दृष्टिकोण का उपयोग करें।


6

हास्केल , 72 बाइट्स

f n=[x|x<-[n,n+lcm n(10^length(show n))..],sum[read[j]|j<-show x]==n]!!0

इसे ऑनलाइन आज़माएं!

ध्यान दें कि पाया गया संख्या शून्य से n और 10 ^ लंबाई (n) दोनों का गुणक होना चाहिए।

लकोनी और पूरी तरह से अमानवीय से प्रेरित


साइट पर आपका स्वागत है!
DJMcMayhem

3
बदलें lcm n(10^length(show n))करने के लिए lcm(10^length(show n))n1 बाइट के लिए
H.PWiz

6

ऐलिस , 35 बाइट्स

/o
\i@/!w?+.?~\ & /-$K..?\ L z $ /K

इसे ऑनलाइन आज़माएं!

व्याख्या

इस कार्यक्रम में कार्डिनल (पूर्णांक-प्रसंस्करण) और ऑर्डिनल (स्ट्रिंग-प्रोसेसिंग) मोड के बीच वास्तव में अच्छा मिश्रण और इंटरैक्शन है।

दशमलव I / O के साथ चुनौतियों के लिए सामान्य रूपरेखा जो काफी हद तक कार्डिनल मोड में काम करती है:

/o 
\i@/...

और वास्तविक कार्यक्रम:

!     Store the input N on the tape.
      We'll use an implicit zero on top of the stack as our iterator variable X,
      which searches for the first valid result.
w     Store the current IP position on the return address stack. This marks
      the beginning of the main search loop. We can avoid the divisibility
      test by going up in increments of N. To check the other two 
      conditions, we'll use individual conditional loop ends that skip to 
      the next iteration. Only if both checks pass and all loop ends are 
      skipped will the search terminate.

  ?+    Increment the iterator X by N.
  .     Duplicate X.
  ?~    Put a copy of N underneath.
  \     Switch to Ordinal mode.
  &     Implicitly convert X to a string, then fold the next command over its
        characters, i.e. its digits. Here, "fold" means that each character
        is pushed to the stack in turn, followed by one execution of that
        next command.
  /     Switch back to Cardinal mode (this is not a command).
  -     Fold subtraction over the digits. This implicitly converts each 
        digit back to its numerical value and subtracts it from N. If the
        digit sum of X is equal to N, this will result in 0.
  $K    Jump back to the w if the digit sum of X isn't N.
  ..    Duplicate X twice.
  ?     Get a copy of N.
  \     Switch to Ordinal mode.
  L     Shortest common superstring. Implicitly converts X and N to strings
        and gives the shortest string that starts with X and ends with N. 
        This will be equal to X iff X already ends with N. Call this Y.
  z     Drop. If X contains Y, this deletes everything up to and including
        Y from X. This can only happen if they are equal, i.e. if X ended
        with N. Otherwise X remains unchanged.
  $     Skip the next command if the string is empty, i.e. if X ended with N.
  /     Switch back to Cardinal mode.
  K     Jump back to w if X didn't end with N.

5

जावा (ओपनजेडके 8) , 136 110 103 92 बाइट्स

-26 जॉली जोकर को धन्यवाद

-7 फिर से जॉली जोकर का धन्यवाद

-11 ऑलिवर ग्रेजायर के लिए धन्यवाद

a->{for(int i=a;!(""+a).endsWith(""+i)|i!=(""+a).chars().map(x->x-48).sum();a+=i);return a;}

इसे ऑनलाइन आज़माएं!

होगा जावा प्यार! यह अच्छी तरह से हो सकता है कि मैं एक अक्षम दृष्टिकोण का उपयोग कर रहा हूं, लेकिन चेकसम फ़ंक्शन में निर्मित नहीं है और संख्या लागत बाइट्स के अंत की जांच के लिए स्ट्रिंग में दोहरा रूपांतरण ...

Ungolfed:

  a->{                                                       //input n (as integer)
      for (int i = a;                                        //initiate loop
           !("" + a).endsWith("" + i)                        //check if the calculated number ends with the input
           | i != ("" + a).chars().map(x -> x - 48).sum();   //check if the checksum is equal to the input
           a += i)                                           //for every iteration, increase i by the input to save checking for divisibility
        ;                                                    //empty loop body, as everything is calculated in the header
    return a;                                                //return number
}

1
(""+i).endsWith(""+a)कार्य करना चाहिए।
जॉली जोकर

@ जॉली जोकर शानदार, मुझे बेवकूफ समझने के लिए धन्यवाद: पी
लुका एच

1
हे। n/=10इसके बजाय n=n/10भी। इसके अलावा, i+=aलूप के लिए ताकि आप विभाजन जांच को छोड़ सकें।
जॉलीजोकर

@ जॉलीजॉकर वाह, मैंने इसे योग के लिए किया था, लेकिन विभाजन के लिए नहीं ... धन्यवाद, मैं इसे शीघ्र ही जोड़ूंगा
लुका एच

1
92 बाइट्स , एपीआई का उपयोग करते हुए, खुद की गणना करने से कम। इसके अलावा, अर्धविराम बाइटकाउंट का हिस्सा नहीं है क्योंकि एक वैध लैंबडा को विधि तर्क के रूप में दिया जा सकता है, उदाहरण के लिए और फिर आपको उस अर्धविराम की आवश्यकता नहीं है।
ओलिवियर ग्रेगोइरे

4

गणितज्ञ, 72 बाइट्स

(t=#;While[Mod[t,10^IntegerLength@#]!=#||Tr@IntegerDigits@t!=#,t+=#];t)&  

-18 बाइट्स @MartinEnder से

इसे ऑनलाइन आज़माएं!

मार्टिन एंडर का एक और संस्करण यहां दिया गया है,
यह दृष्टिकोण ऊपर तक जा सकता है n=40(41 डिफ़ॉल्ट पुनरावृत्ति सीमा से अधिक है)

गणितज्ञ, 65 बाइट्स

#//.t_/;Mod[t,10^IntegerLength@#]!=#||Tr@IntegerDigits@t!=#:>t+#&

इसे ऑनलाइन आज़माएं!


3

पायथन 2 , 74 बाइट्स

यह समाधान है कि मान लिया गया है n <= sys.maxint

n=x=input()
while sum(map(int,str(x)))-n*str(x).endswith(`n`):x+=n
print x

इसे ऑनलाइन आज़माएं!


बदलें str(x)साथ xमें 6 बाइट (आप कैसे बच अंदर वापस टिक्स बैक-टिक करते हैं?) को बचाने के लिए दो बार वापस टिक्स।
चास ब्राउन

@ChasBrown `बैकस्लैश backticks के अंदर टिक।
wvxvw

@ChasBrown नहीं, लंबे समय तक पूर्णांकों के लिए Lजो एल्गोरिदम को गड़बड़ कर सकता है।
पलटना

3

सी (जीसीसी) 71 69 बाइट्स, 100 पर विफल

मैंने लंबे और% 1000 बार बार कोशिश की

स्टेबबॉक्स के लिए -2 बाइट्स धन्यवाद

s,i,j;f(n){for(j=0;s^n|j%100!=n;)for(s=0,i=j+=n;i;i/=10)s+=i%10;j=j;}

इसे ऑनलाइन आज़माएं


उस j * = 1 == रिटर्न j ट्रिक के साथ आज एक नई ट्रिक सीखी। अच्छा कोड है।
माइकल डोरगन

stackoverflow.com/questions/2598084/… (अंतिम गणित वापस आ गया है।)
माइकल डोरगन


@Steadybox आपको धन्यवाद, मैं करता हूँ कि
प्रिंसपोलका


2

सी # (.NET कोर) , 90 84 83 + 18 = 101 बाइट्स

using System.Linq;
n=>{for(int i=n;!(""+n).EndsWith(""+i)|n%i>0|(""+n).Sum(c=>c-48)!=i;n++);return n;}

इसे ऑनलाइन आज़माएं!

  • 6 बाइट्स ने एमिग्ना को धन्यवाद दिया और (""+n)कुछ जगहों पर और n.ToString()दूसरों में लिखने की मेरी अदम्य क्षमता ।

n=>{for(int i=n;n%100!=i|n%i>0|(""+n).Sum(c=>c-'0')!=i;n++);return n;}20 बाइट बचाता है।
एमिग्ना

@Eigna क्यों n%100? क्या होगा अगर n>100?
चार्ली

अरे हाँ, उस हिस्से को अनदेखा करो। यह 2-अंकीय इनपुट के साथ परीक्षण से था। मॉड को 10 ^ लेन (इनपुट) होना चाहिए। शायद तब इसके लायक नहीं।
एमिगा




1

जावास्क्रिप्ट REPL (ES5), 60 59 बाइट्स

for(n=prompt(i=0);eval([].join.call(t=++i+n,'+'))-n|t%n;);t

@totallyhuman फिक्स्ड
l4m2

कंसोल में यह बिना अलर्ट () के आउटपुट देता है, इसलिए मुझे लगता है
l4m2

0

हास्केल , 75 बाइट्स

f n=[x|x<-[0,n..],sum[read[d]|d<-show x]==n,mod x(10^length(show n))==n]!!0

इसे ऑनलाइन आज़माएं!

स्पष्टीकरण:

f n=[x|                                      ]!!0 -- Given input n, take the first x
       x<-[0,n..],                                -- which is a multiple of n,
                  sum[read[d]|d<-show x]==n,      -- has a digital sum of n
                  mod x(10^length(show n))==n     -- and ends in n.

मुझे आश्चर्य है कि क्या "अंत n" भाग को छोटा किया जा सकता है। मैंने भी कोशिश की show n`elem`scanr(:)""(show x), लेकिन यह लंबा है।





0

पॉवरशेल , 84 बाइट्स

for($n=$i=$args[0];$i%$n-or$i-notmatch"$n$"-or([char[]]"$i"-join'+'|iex)-$n){$i++}$i

इसे ऑनलाइन आज़माएं!

सरल निर्माण लेकिन लंबा आदेश। टीआईओ के लिए समय निकाल दें n=100, लेकिन अगर हम स्पष्ट रूप से निर्धारित करते हैंi से करीब होना चाहते हैं, यह सही ढंग से आउटपुट करता है।

यह सिर्फ एक साधारण forलूप है जो किसी भी एक स्थिति के सही होने तक ऐसा चलता रहता है। तीन स्थितियां 1 हैं) $i%$n, यानी, हमारे पास एक शेष है; 2) $i-notmatch"$n$", यानी, यह रेगेक्स अंकों के अंतिम जोड़े से मेल नहीं खाता है; और 3) ([char[]]"$i"-join'+'|iex)-$n, अर्थात, एक साथ सम्‍मिलित अंकों के बराबर नहीं है$n (यहाँ पर साधारण घटाव द्वारा जाँच की गई है, क्योंकि गैर-अक्षीय मान सत्य हैं)। लूप के अंदर हम केवल वृद्धि कर रहे हैं $i

इस प्रकार, यदि हमारे पास शेष नहीं है, तो रेगेक्स मेल खाता है, और संख्याएं समान हैं, सभी तीन स्थितियां हैं $falseऔर हम लूप से बाहर निकलते हैं। नतीजतन, हम बस $iपाइपलाइन पर छोड़ सकते हैं , और आउटपुट निहित है।


0

PHP, 73 + 1 बाइट्स

while(array_sum(str_split($i+=$n=$argn))-$n|$i%10**strlen($n)-$n);echo$i;

साथ पाइप के रूप में चलाएँ -R

तक के $iगुणकों के माध्यम से छोरों और झूठा है; फिर प्रिंट करता है ।<input>sum_of_digits-<input>tail_of_i-$ni


0

एम 4, 210 बाइट्स

define(d,define)d(i,ifelse)d(s,`i($1,,0,`eval(substr($1,0,1)+s(substr($1,1)))')')d(k,`r($1,eval($2+1))')d(r,`i(s($2),$1,i(regexp($2,$1$),-1,`k($1,$2)',i(eval($2%$1),0,$2,`k($1,$2)')),`k($1,$2)')')d(f,`r($1,1)')

एक स्थूल को परिभाषित करता है f जो उत्तर की गणना करता है। यह थोड़ा धीमा है - असामान्य रूप से तो - लेकिन मैं वादा करता हूं कि यह काम करता है।

मैंने सोचा था कि एम 4 अच्छा होगा क्योंकि यह पूर्णांकों को डिफ़ॉल्ट रूप से स्ट्रिंग्स के रूप में मानता है, लेकिन यह बहुत बुरा है।


0

स्काला, 120 बाइट्स

def a(n:Int)={val b=math.pow(10,math.ceil(math.log10(n))).##;var c=b+n;while(c%n!=0||(0/:c.toString)(_+_-'0')!=n)c+=b;c}

यह तब तक काम करता है n = 70, जिसके बाद पूर्णांक ओवरफ्लो हो जाता है। एक अतिरिक्त चरित्र के लिए, Intएक में बदल सकता है Longऔर मूल्यों n > 100को गणना करने की अनुमति दे सकता है।

यहाँ थोड़ा लम्बा अधूरा संस्करण है:

def golfSourceLong(n: Long): Long = {
  val delta = math.pow(10, math.ceil(math.log10(n))).toInt
  var current = delta + n
  while (current % n != 0 || current.toString.foldLeft(0)(_ + _ - '0') != n) {
    current += delta
  }
  current
}

0

आर , 115 बाइट्स

function(n,d=nchar(n):1){while(sum(D<-F%/%10^((k=nchar(F)):1-1)%%10)-n|any(D[k-d+1]-n%/%10^(d-1)%%10)|F%%n)F=F+n
F}

इसे ऑनलाइन आज़माएं!

भयानक आर समारोह। वृद्धि F(शुरू होती है 0) nतब तक जब तक एक मूल्य नहीं मिल जाता है जो आवश्यक गुणों को संतुष्ट करता है, जो तब लौटता है। का उपयोगanyएक doubleअभिव्यक्ति पर लूप के प्रत्येक पुनरावृत्ति के लिए एक चेतावनी भेजता है, लेकिन शुद्धता को प्रभावित नहीं करता है।

बड़े पर्याप्त इनपुट (n = 55 या उच्चतर) के लिए TIO पर टाइम्स आउट करें लेकिन पर्याप्त समय / स्थान दिए गए समाधान की सही गणना करें।


0

पर्ल 5, 46 44 + 1 (-पी) = 45 बाइट्स

2 बाइट्स Xcali के लिए धन्यवाद बचाया, बेहतर नहीं मिल सका

($\=++$t.$_)%$_|$_-eval$\=~s//+/gr.0&&redo}{

पहला जवाब

$\=++$x.$_;eval$\=~s//+/gr."-$_"|$\%$_&&redo}{

इसे ऑनलाइन आज़माएं


1
एक युगल बाइट्स को बचाने के लिए प्रबंधित: इसे ऑनलाइन आज़माएं!
Xcali

0

जेली , 22 21 बाइट्स

DS=³a³ḍaDṫ³DLC¤Ḍ=³ø1#

इसे ऑनलाइन आज़माएं!

संपादित करें: एक पंक्ति में संकुचित

व्याख्या

DS=³a³ḍaDṫ³DLC¤Ḍ=³ø1#
                  ø1#  Evaluate the condition before this and increment a counter until it is met then output the counter                     
D                      Digits of incremented variable as a list
 S                     Sum
  =³                   Equals argument of program?
    a                  Logical and
     ³ḍ                Does arg divide incremented variable?
       a               Logical and
        Dṫ     Ḍ       Last n digits of inc. var. where n is number of digits in program input
          ³DLC         1 - (number of digits of program input)
              ¤        Book ends above nilad
                =³     Equals program input?

मुझे लिखने में कई घंटे लगे क्योंकि मैं जेली सीख रहा हूं लेकिन अब जब मैं कर चुका हूं तो मैं बहुत संतुष्ट हूं। लंबे समय तक मुझे महसूस नहीं हुआ कि मुझे इसकी आवश्यकता है ¤और मैं इसे काम करने के लिए नहीं मिला। [इसे] [1] अच्छी तरह से समझाया कोड को देखने से मुझे सौदे को सील करने में मदद मिली। पीपीसीजी में बहुत सारे जेली के जवाब ने मुझे भी निर्देशित किया।


0

जावास्क्रिप्ट, 224 बाइट्स function getNumber(x){if(x<12){return!1};const sumDigits=(x)=>x.toString().split('').map(Number).reduce((a,b)=>a+b,0);for(let i=2;i<9999;i++){if((x*i-x)%(Math.pow(10,x.toString().length))==0&&sumDigits(x*i)==x){return x*i}}} अन-गोल्फ:

function getNumber(x){
	if (x<12) {return false};
	const sumDigits = (x) => x.toString().split('').map(Number).reduce((a,b)=>a+b, 0);
	for (let i=2; i<9999; i++){
		if((x*i-x)%(Math.pow(10, x.toString().length))==0 && sumDigits(x*i)==x){
			return x*i;
}
}
}

उपयोग: 1. getNumber (12) 2. getNumber (13) 3. ...।


मैं जावास्क्रिप्ट गोल्फ के बारे में ज्यादा पता नहीं है, लेकिन मैं कर रहा हूँ यकीन है कि आप के नाम छोटे चाहिए getNumberया sumDigits
अर्जन जोहानसन

बहुत बहुत धन्यवाद, मैं यहां जीतने नहीं जा रहा हूं, बस इस चुनौती में
उतरना चाहता हूं

0

जे , 37 33 बाइट्स

+^:(((=1#."."0)*:(e.".\.))":)^:_~

इसे ऑनलाइन आज़माएं!

                                ~    A = N
+^:                          ^:_     while(...)A+=N; return A
   (                      ":)        A to string
   (((    "."0)          )  )        digits of A
   ((( 1#.    )          )  )        sum
   (((=       )          )  )        equals N
   ((            (e.".\.))  )        N is one of the suffixes of A-string
   ((          *:        )  )        not AND

पुनरावृत्ति काउंटर को रोकना ~ 5 गुना तेज है लेकिन 5 बाइट्स लंबा है:

(]+[((=1#.,.&.":)<:|),~&.":)^:_&1,&":]

इसे ऑनलाइन आज़माएं!

100 से वृद्धि, 27 बाइट्स :

(]+100*(=1#.,.&.":)<:|)^:_~

इसे ऑनलाइन आज़माएं!


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