ক্ষুদ্রতম ধনাত্মক পূর্ণসংখ্যার সন্ধান করুন যা n এ শেষ হয়, n দ্বারা বিভাজ্য এবং যার অঙ্কগুলি n এর সমষ্টি হয়


33

এটি সব শিরোনামে ...

ইনপুট হিসাবে ইতিবাচক পূর্ণসংখ্যার হিসাবে নিন n>=12এবং ... শিরোনাম যা বলে তা করুন do

হ্যাঁ, এটি OEIS A187924 এ রয়েছে

কিছু পরীক্ষার মামলা

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

এটি । বাইটের মধ্যে সংক্ষিপ্ততম কোড জয়!


মন্তব্যগুলি বর্ধিত আলোচনার জন্য নয়; এই কথোপকথন চ্যাটে সরানো হয়েছে ।
মার্টিন এেন্ডার

চ্যাটে কী স্থানান্তরিত হয়েছিল তার একটি অংশ বন্ধ করার জন্য: ওইআইএসে আমার সম্পাদনা প্রমাণ করে যে কোনও সমাধান ছাড়াই ১১ টিই কেবলমাত্র অনুমোদিত হয়েছিল।
janrjan জোহানসেন

উত্তর:


19

বেফুঞ্জ, 81 বাইট

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

এটি অনলাইন চেষ্টা করুন!

এন পর্যন্ত আপ পরিচালনা করতে পারেকমপক্ষে = 70 যার পরে কিছু মানগুলি বেশিরভাগ বাস্তবায়নে স্ট্যাক সেলের আকারটি উপচে পড়া শুরু করবে এবং তাদের ক্ষেত্রে এটি এত দীর্ঘ সময় নেবে যে এটি সন্ধানের জন্য অপেক্ষা করার মতো নয়।

এইসব সীমাবদ্ধতা দেওয়া, এমনকি আমরা মান হ্যান্ডেল বের করার চেষ্টা বিরক্ত করবেন না এন 99 তার চেয়ে অনেক বেশী, যার মানে আমরা পারি আরো সহজে পরীক্ষা করে মান প্রান্ত এন কেবল সাথে মান মডিউল 100 তুলনা করে দিয়ে এন

নীচে কোডের আরও বিশৃঙ্খলা দেওয়া আছে।

কার্যকরকরণের পথগুলির সাথে উত্স কোড হাইলাইট করা

*স্টিডিন থেকে এন পড়ুন এবং স্মৃতিতে সংরক্ষণ করুন।
*পরীক্ষার মান v থেকে 0 টি আরম্ভ করুন এবং মূল লুপটি শুরু করুন, ভি আপ সামনে বাড়িয়ে।
*টেস্ট যদি v%n == 0, এবং যদি প্রধান লুপ শুরুতে ফিরে না।
*টেস্ট যদি v%100 == n, এবং যদি প্রধান লুপ শুরুতে ফিরে না।
*ডিজিটের সারাংশ বনাম বারবার যোগ করে বনাম মডিউল 10 এবং বিভাজক বনাম 10. দ্বারা
*টেস্ট যদি যোগফল সমান এন , এবং প্রধান লুপ শুরুতে ফিরে না পারেন।
*অন্যথায় আউটপুট v এবং প্রস্থান করুন।


12

05 এ বি 1 ই , 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 প্রতারণা করছে, কারণ এটি খুব ভাল। এক মাইল এ পরাজয়ের একমাত্র উপায় হ'ল এমন একটি প্রোগ্রামিং 'সংক্ষেপণ' ভাষা তৈরি করা যা অতীতের ভাষার উল্লেখ করে। আমি জমা উত্তর = দান মাথা [1] তোমার
পাথফাইন্ডার

@ পাথফাইন্ডার: এখানে বেশ কয়েকটি ভাষা রয়েছে যা ধারাবাহিকভাবে 05AB1E কে পরাজিত করতে পারে, তাই আমরা এখনও আরও ছোট কিছু দেখার আশা করতে পারি :)
এমিগানা

12

জাভাস্ক্রিপ্ট (ES6), 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>

স্ট্রিং হিসাবে ইনপুট নেয়। বৃহত্তর ফলাফলের জন্য লেজ পুনরাবৃত্তি সমর্থন সহ একটি ব্রাউজারের প্রয়োজন। সম্পাদনা: @ আরনাউল্ডকে ধন্যবাদ 1 বাইট সংরক্ষিত


eval([s,...a].join`-`)?এটিও কাজ করবে, যদিও এটি কোনও সংক্ষিপ্ত নয় ...
ETH প্রোডাকশনগুলি

@ আরনাউল্ড না, আমি কেবল ভুলে গেছি যে আমি এটির মাধ্যমে এটি করতে পারি ||
নিল

8

ব্র্যাচল্যাগ ভি 2, 12 10 বাইট

a₁.;A×?≜ẹ+

এটি অনলাইন চেষ্টা করুন!

এটি এমন একটি ফাংশন সাবমিশন যা মাধ্যমে ইনপুট নেয় .এবং মাধ্যমে আউটপুট উত্পাদন করে? (সাধারণ কনভেনশনের বিপরীত; সমস্ত ব্র্যাচল্যাগ ফাংশনে হ'ল দুটি যুক্তি থাকে, যা ইনপুট বা আউটপুট আর্গুমেন্ট হতে পারে, তবে ভাষাটি কোনও নির্দিষ্ট যুক্তির ব্যবহার প্রয়োগ করে না)) আমরা পিপিসিজিতে প্রাসঙ্গিকভাবে যুক্তির ব্যবহারের জন্য কনভেনশনগুলি সাধারণত বিবেচনা করি না

ব্যাখ্যা

এই সমাধানটির পূর্ববর্তী সংস্করণটিতে একটি বিশেষ কেস ছিল (Ḋ| একক সংখ্যার জন্য অর্থাত্ "আক্ষরিক অর্থে রিটার্ন সংখ্যা") ছিল, তবে প্রশ্নটি স্পষ্টতই বলেছে যে আপনাকে এটির জন্য পরীক্ষা করতে হবে না (এটি ধরার জন্য @DLosc ধন্যবাদ), তাই আমি সরিয়েছি এটা। (লিখিত হিসাবে সমাধানটি একক অঙ্কগুলিতে কাজ করবে না কারণ ব্র্যাচল্যাগ অসীম লুপগুলিকে প্রতিরোধ করার জন্য 1 কে গুণে অজানা হিসাবে সম্ভাবনা হিসাবে বিবেচনা করবে না; এর গুণগুলি স্বেচ্ছাচারিতা-আধ্যাত্মিকতা)

সুতরাং এই উত্তরটি এখন স্পেসিফিকেশনের একটি বেশ সরাসরি প্রত্যক্ষ অনুবাদে চলেছে। থেকে শুরু করে ?(আউটপুট / NUMBER আমরা খুঁজে বের করার চেষ্টা করছি, একটি Brachylog সম্পৃক্ত সবসময় পরোক্ষভাবে দিয়ে শুরু হয় ?) আমরা ব্যবহার a₁.জাহির করা আছে যে .(ইনপুট) একটি প্রত্যয় হিসাবে। তার ;A×?মানে হল যে আমরা উত্পাদনের জন্য () আউটপুটটি কোনও ×( ;A) দ্বারা ফলাফলকে (গুণ ) করতে পারি ?। অবশেষে, ẹ+অঙ্কের ( +) (ডিজিট ) এর ?, এবং ডিফল্ট ভাবে এর প্রতি Brachylog প্রোগ্রাম যা চূড়ান্ত ফলাফল উৎপন্ন শেষে একটি অন্তর্নিহিত কথন .। তাই অন্য কথায়, এই প্রোগ্রামটি হয় " .একটি সাফিক্স ?, .দ্বারা কিছু গুন ?,. এর অঙ্ক সমষ্টি?", যা মূল প্রোগ্রামটির আক্ষরিক অনুবাদের খুব কাছাকাছি।

প্রয়োজনীয় জন্য অঙ্ক সমষ্টি প্রয়োজন জারি করা হবে। আমি ধরে নিয়েছি এমন কিছু অজানা পছন্দ করে না, তাই ব্রেজলগকে বীজগণিতের পরিবর্তে প্রোগ্রামের সেই অংশের জন্য একটি ব্রুট-ফোর্স পদ্ধতির ব্যবহার করতে বলে।


6

হাস্কেল , 72 বাইট

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

এটি অনলাইন চেষ্টা করুন!

মনে রাখবেন যে প্রাপ্ত নম্বর বিয়োগ n অবশ্যই উভয় n এবং 10 ^ দৈর্ঘ্যের (n) এর একাধিক হতে হবে।

লাইকোনি এবং সম্পূর্ণমানুষ দ্বারা অনুপ্রাণিত


সাইটে স্বাগতম!
ডিজেএমসিএমহেম

3
পরিবর্তন lcm n(10^length(show n))করার জন্য lcm(10^length(show n))n1 বাইট জন্য
H.PWiz

6

এলিস , 35 বাইট

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

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

এই প্রোগ্রামটিতে কার্ডিনাল (পূর্ণসংখ্যা-প্রক্রিয়াকরণ) এবং অর্ডিনাল (স্ট্রিং-প্রসেসিং) মোডের মধ্যে একটি দুর্দান্ত মিক্স এবং ইন্টারঅ্যাকশন রয়েছে।

দশমিক আই / ও এর সাথে চ্যালেঞ্জগুলির জন্য সাধারণ কাঠামো যা মূলত কার্ডিনাল মোডে কাজ করে:

/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লুপের জন্য যাতে আপনি বিভাজ্যতা পরীক্ষাটি এড়িয়ে যেতে পারেন।
JollyJoker

@ জলি জোকার বাহ, আমি এটি যোগফলের জন্য করেছি কিন্তু বিভাগের জন্য নয় ... ধন্যবাদ, আমি শীঘ্রই এটিকে যুক্ত করব
লুকা এইচ

1
92 বাইট , নিজের ব্যবহারের চেয়ে ছোট, এপিআই ব্যবহার করে। এছাড়াও, সেমিকোলন বাইট্যাক্টের অংশ নয় কারণ একটি বৈধ ল্যাম্বডাকে পদ্ধতির আর্গুমেন্ট হিসাবে দেওয়া যেতে পারে, উদাহরণস্বরূপ এবং তারপরে আপনার সেই সেমিকোলনের দরকার নেই।
অলিভিয়ার

4

গণিত, 72 বাইট

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

@ মার্টিনএেন্ডার থেকে -18 বাইট

এটি অনলাইন চেষ্টা করুন!

মার্টিন ইন্ডারের আরও একটি সংস্করণ এখানে
এই পদ্ধতির উপরে যেতে পারে 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)সঙ্গে x6 বাইট (আপনি কেমন অব্যাহতি ভিতরে ব্যাক ticks ব্যাক এঁটেল পোকা না?) সংরক্ষণ করতে দুই বার ব্যাক ticks।
চ্যাস ব্রাউন

@ চ্যাসব্রাউন `ব্যাকটিক্সের অভ্যন্তরে ব্যাকস্ল্যাশ টিক্
wvxvw

@ চ্যাসব্রাউন নো, দীর্ঘ সংখ্যক হিসাবে এটি যুক্ত 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;}

এটি অনলাইনে চেষ্টা করুন


সেই জ * = 1 == রিটার্ন জে ট্রিক দিয়ে আজ একটি নতুন কৌশল শিখেছে। চমৎকার কোড।
মাইকেল ডরগান

stackoverflow.com/questions/2598084/… (শেষ গণিত ফিরে এসেছে।)
মাইকেল ডরগান

@ মিশেলডোরগান জেম্বল = জে এবং জে * = 1 এর সমাবেশ
PrincePolka

@ স্টেডিবক্স আপনাকে ধন্যবাদ, আমি এটি করব
প্রিন্সপোলকা


2

সি # (.নেট কোর) , 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 বাইট সংরক্ষণ
এমিগনা

@ এমিগনা কেন n%100? তাহলে কি n>100?
চার্লি

হ্যাঁ, এই অংশটি উপেক্ষা করুন। এটি ছিল 2-অঙ্কের ইনপুট দিয়ে পরীক্ষা করা। মোডটি 10 ​​^ লেন (ইনপুট) হতে হবে। সম্ভবত তখন এটি মূল্যবান নয়।
Emigna




1

জাভাস্ক্রিপ্ট আরপিএল (ইএস 5), 60 59 বাইট

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

@ টোটালিহুমান স্থির
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

পিএইচপি, 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-$nfalsy হয়; তারপরে প্রিন্ট করুন i


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 অভিব্যক্তি লুপ প্রতিটি পুনরাবৃত্তির জন্য একটি সতর্কবার্তা পাঠায়, কিন্তু শুদ্ধি প্রভাবিত করে না।

টিআইও-তে বড় পরিমাণের ইনপুট (এন = 55 বা তার চেয়ে বেশি) জন্য টাইমস আউট হয়েছে তবে পর্যাপ্ত সময় / স্থান প্রদত্ত সমাধানটি সঠিকভাবে গণনা করা উচিত।


0

পার্ল 5, 46 44 + 1 (-পি) = 45 বাইট

এক্সকালির জন্য 2 বাইট সংরক্ষণ করা হয়েছে, এর চেয়ে ভাল আর খুঁজে পেল না

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

প্রথম উত্তর

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

এটি অনলাইনে চেষ্টা করুন


1
একটি দম্পতি বাইট সংরক্ষণ করার জন্য পরিচালিত: এটি অনলাইনে চেষ্টা করুন!
এক্সকালি

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?

এটি লিখতে আমাকে বেশ কয়েক ঘন্টা সময় লেগেছে কারণ আমি জেলি শিখছি তবে এখন আমার কাজ শেষ হয়ে গেছে বলে আমি খুব সন্তুষ্ট। দীর্ঘদিন আমি বুঝতে পারি নি যে আমার প্রয়োজন ¤এবং আমি এটি কাজ করতে পারি না। [এটি] [১] ভালভাবে ব্যাখ্যা করা কোড আমাকে চুক্তি সিল করতে সহায়তা করেছে। পিপিসিজিতে অন্যান্য অনেক জেলি উত্তর আমাকেও গাইড করে।


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
janrjan Johansen

আপনাকে অনেক ধন্যবাদ, আমি এখানে জিততে যাচ্ছি না, কেবল এই চ্যালেঞ্জের মধ্যে আসতে চাই: হাসি:
এনটিসিজি

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#.,.&.":)<:|)^:_~

এটি অনলাইন চেষ্টা করুন!


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.