10000 এর অধীনে সমস্ত লেসিকোগ্রাফিকভাবে সংখ্যা প্রিন্ট করুন


32

একটি ডিক্সোগ্রাফিকভাবে ক্রমবর্ধমান সংখ্যা হ'ল একটি পূর্ণসংখ্যা যার সংখ্যাগুলি কঠোরভাবে ক্রমবর্ধমান ক্রমে থাকে। 10000 এর অধীনে সমস্ত লেসিকোগ্রাফিকভাবে সংখ্যা প্রিন্ট করুন।

প্রত্যাশিত আউটপুটটির লাইনগুলি এখানে:

0
1
2
3
4
5
6
7
8
9
12
13
14
15
16
17
18
19
23
24
25
26
27
28
29
34
35
36
37
38
39
45
46
47
48
49
56
57
58
59
67
68
69
78
79
89
123
124
125
126
127
128
129
134
135
136
137
138
139
145
146
147
148
149
156
157
158
159
167
168
169
178
179
189
234
235
236
237
238
239
245
246
247
248
249
256
257
258
259
267
268
269
278
279
289
345
346
347
348
349
356
357
358
359
367
368
369
378
379
389
456
457
458
459
467
468
469
478
479
489
567
568
569
578
579
589
678
679
689
789
1234
1235
1236
1237
1238
1239
1245
1246
1247
1248
1249
1256
1257
1258
1259
1267
1268
1269
1278
1279
1289
1345
1346
1347
1348
1349
1356
1357
1358
1359
1367
1368
1369
1378
1379
1389
1456
1457
1458
1459
1467
1468
1469
1478
1479
1489
1567
1568
1569
1578
1579
1589
1678
1679
1689
1789
2345
2346
2347
2348
2349
2356
2357
2358
2359
2367
2368
2369
2378
2379
2389
2456
2457
2458
2459
2467
2468
2469
2478
2479
2489
2567
2568
2569
2578
2579
2589
2678
2679
2689
2789
3456
3457
3458
3459
3467
3468
3469
3478
3479
3489
3567
3568
3569
3578
3579
3589
3678
3679
3689
3789
4567
4568
4569
4578
4579
4589
4678
4679
4689
4789
5678
5679
5689
5789
6789

এটি একটি কোড গল্ফ চ্যালেঞ্জ! সবচেয়ে কম উত্তর জয়!

(পিএস একটি অজগর সমাধানের সন্ধান করছেন)


3
আমাদের কি তাদের আলাদা লাইনে মুদ্রণ করা দরকার বা স্থান-বিচ্ছিন্ন ঠিক আছে?
জিউসেপ

3
পিপিসিজিতে আপনাকে স্বাগতম! ভাল প্রথম চ্যালেঞ্জ। ভবিষ্যতের চ্যালেঞ্জগুলির জন্য, আমি কোনও চ্যালেঞ্জকে পরিমার্জন করতে স্যান্ডবক্স ব্যবহার করার পরামর্শ দিতে পারি এবং এটিতে পোস্ট করার আগে অর্থবহ প্রতিক্রিয়া জানাতে পারি।
অ্যাডমবর্কবার্ক

4
@ জিউসেপের প্রশ্নের সম্প্রসারণের জন্য, আমরা কমা, স্পেসগুলি, অ্যারে ফর্ম্যাট [0,1,...]ইত্যাদিতে আলাদা করে আউটপুট দিতে পারি বা প্রতিটি সংখ্যাকে আলাদা লাইনে আউটপুট দিতে হবে?
ইটিএইচ প্রডাকশন

10
সংখ্যাগুলি একটি নির্দিষ্ট ক্রমে থাকা দরকার, বা তাদের কি কেবল সমস্ত অস্তিত্বের প্রয়োজন?
কামিল দ্রাকারী

14
@ ভারুনপাট্রো, দয়া করে প্রতিটি সংখ্যা পৃথক লাইনে (যদিও আমি সেই প্রয়োজনের বিরুদ্ধে সুপারিশ করব) দ্বারা স্পষ্ট করে জানাতে চ্যালেঞ্জটি আপডেট করুন এবং এমনটি না করে এমন কোনও বিদ্যমান সমাধান অবহিত করার বিষয়টি নিশ্চিত করুন।
শেগি

উত্তর:


30

পাইথন 2 , 56 বাইট

for n in range(9999):
 if eval('<'.join(`n`))**n:print n

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

প্রতিটি সংখ্যাকে 124একটি অভিব্যক্তিতে রূপান্তরিত করে 1<2<4এবং অঙ্কগুলি সাজানো হয় কিনা তা পরীক্ষা করে তা মূল্যায়ন করে,

একটি হিচাপ এক অঙ্কের সংখ্যার জন্য ঘটে যা একটি অভিব্যক্তি দেয় যা কেবল সংখ্যাটি। এটি 0মুদ্রিত হওয়া সত্ত্বেও একটি ফলসী মানকে মূল্যায়নের কারণ করে। এই কৌতুক এরিক দ্বারা প্রস্তাবিত করছেন Outgolfer দ্বারা সংশোধন করা হয়েছে **n, যা truthy মান দেয় 0**0জন্য n=0এবং অন্যথায় সত্য মান প্রভাবিত করে না।


কী `না `n`?
ব্রুসওয়েেন

1
@ ব্রুসওয়ে এটি স্ট্রিং প্রতিনিধিত্ব নেয়। এটি পাইথন 3
xnor

5
@ ব্রুসওয়েইন নোট করুন যে এটি repr()ফাংশনটির মতো নয়, str()ফাংশনের মতো। তারা সবসময় একই হয় না। এখানে একটি উদাহরণ।
mbomb007

1
@ mbomb007 এই মন্তব্যের জন্য ধন্যবাদ! আমি এটি str()সমতুল্য মনে হত ।
ব্রুসওয়েেন

2
আমরা 0 টি কেসটিকে কিছুটা কৌতুকপূর্ণভাবে পরিচালনা করতে পারি ।
xsot


11

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

unlines[s|s<-show<$>[0..6^5],s==scanl1(max.succ)s]

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

মাল্টলাইন স্ট্রিং আউটপুট দেয়। আমরা পরীক্ষা sকরে s==scanl1(max.succ)sদেখি যে সংখ্যাটি ব্যবহার করে ক্রমবর্ধমান , স্বাভাবিক সাজানো যাচাইয়ের একটি বৈকল্পিক s==scanl1 max sযা সর্বাধিক এবং পরবর্তী সংখ্যাটি নেওয়ার আগে প্রতিটি অঙ্কের অক্ষরকে বাড়িয়ে কঠোর বাছাই নিশ্চিত করে।

আউয়াস 6^5একটি 4-সংখ্যার স্থানে উপরের সীমানা হিসাবে ব্যবহার করে একটি বাইট সংরক্ষণ করে ।


8

জেলি , 7 বাইট

9ŒPḌḣ⁹Y

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

কিভাবে এটা কাজ করে

9ŒPḌḣ⁹Y  Main link. No arguments.

9        Set the return value to 9.
 ŒP      Powerset; promote 9 to [1, ..., 9] and generate all subsets.
   Ḍ     Undecimal; map the subsets of digits to the integers they represent.
     ⁹   Yield 256.
    ḣ    Dyadic head; take the first 256 elements of the integer list.
      Y  Separate the result by linefeeds.

2
আমি কীভাবে 0এখানে অন্তর্ভুক্ত হয় তা জানার চেষ্টা করছি তবে আমি জেলিকে চিনি না। আমি কি ঠিক করি যে জেলি এর পাওয়ারসেটে খালি অ্যারে অন্তর্ভুক্ত থাকে যা 0"অনির্ধারিত" হলে রূপান্তরিত হয় ?
শেগি

1
হ্যাঁ, ঠিক তাই ঘটে।
ডেনিস

8

জাপট -R, 12 11 8 বাইট

L²Ç¶ìüÃð

এটা পরীক্ষা করো

L            :100
 ²           :Squared
  Ç          :Map the range [0,L²)
    ì        :  Split to a digit array
     ü       :  For the sake of simplicity*, let's say: Sort & deduplicate
             :  Implicitly rejoin to an integer
   ¶         :  Test for equality with original number
      Ã      :End map
       ð     :Get 0-based indices of truthy elements
             :Implicitly join with newlines and output

* বা আরও ভাল ব্যাখ্যা দেওয়ার জন্য: üপদ্ধতিটি একটি অ্যারে বাছাই করে এটিকে সমান উপাদানগুলিতে বিভক্ত করে (উদাহরণস্বরূপ [8,4,8,4].ü() -> [[4,4],[8,8]]) এবং তারপরে, কীভাবে একটি অদ্ভুত তাত্ক্ষণিক বলে মনে হয় এবং আশা করা যায় না যে কোনও বাগটি নয়, ìপদ্ধতিটি অ্যারেটিকে আবার রূপান্তর করার সময় when একটি সংখ্যা, প্রতিটি নেস্টেড অ্যারের প্রথম উপাদান নেয়, প্রথমে অ্যারে চ্যাপ্টা করার পরিবর্তে, যা আমি প্রত্যাশা করি যখন আমি এই কৌশলটি চেষ্টা করেছি (যেমন, [[4,4],[8,8]].ì() -> 48)।


1
খুশী হলাম। আমার যা ছিল তার অনুরূপ:L²Ç¥ì ü ¬Ãð
অলিভার

2
আমার বলতে হবে, আপনি যে üকৌশলগুলি ছেলেরা ব্যবহার করেছেন তা হ'ল প্রতিভা :-) @ অলিভার
ইটিএইচ প্রডাকশন

1
@ অলিভার, আপনি অবশ্যই পোস্ট করেছেন যে আমি আপডেট করার সময়; দুর্দান্ত মন ... :)
শেগি

@ এথ প্রডাকশনগুলি, বেশিরভাগ জিনিসের মতো, আমি এটি এক ঝকঝকে চেষ্টা করে দেখেছি - অবাক হয়ে কাজ করে।
শেগি

6

আর , 62 49 বাইট

`[`=write;0[1];for(i in 1:4)combn(1:9,i)[1,i,,""]

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

combnপ্রদত্ত ক্রমে এর ইনপুটটির মাধ্যমে পুনরাবৃত্তি হওয়ার কারণে , সমস্ত ডিক্সিকোগ্রাফিকভাবে ক্রমবর্ধমান পূর্ণসংখ্যার ক্রম প্রিন্ট করে সহজেই তৈরি করা সহজ। writeতাদের প্রতিটি- iডিজিট প্রস্থের লাইনে প্রিন্ট করে i, খুব সহজেই নতুন লাইনের প্রয়োজনীয়তা পূরণ করছে।


দুর্দান্ত ধারণা শোষণ combn!
digEmAll

অত্যন্ত চতুর আলিয়াজিং!
জে.ডো

6

পার্ল 6 , 25 বাইট

[<](.comb)&&.say for ^1e4

-1 বাইট ধন্যবাদ নওহেলহোফকে

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

.combপ্রতিটি সংখ্যার ডিজিটের একটি তালিকা তৈরি করে এবং [<]সেই তালিকার তুলনায় কম হ্রাস করতে পারে: সমতুল্য: Digit1 < Digit2 <... < DigitN


2
[<](.comb)&&.sayএকটি বাইট সংরক্ষণ করে।
nwellnhof

এটি আশ্চর্যজনকভাবে পাঠযোগ্য। (আমি ইতিমধ্যে একটু পার্ল 6 জানি, কিন্তু এখনও ...)
জেএল


5

পাওয়ারশেল , 42 40 বাইট

0..1e4|?{-join("$_"|% t*y|sort -u)-eq$_}

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

থেকে লুপ 0থেকে 1e4(অর্থাত, 10000)। যারা বস্তুর যেখানে টানুন আউট |?{...}একটি স্ট্রিং হিসাবে সংখ্যা $_হয় -eqসংখ্যা ঢালাই করার ual toCharArra yএবং তারপর sortসঙ্গে ed -unique পতাকা। অন্য কথায়, কেবল সংখ্যা যা তাদের বাছাই করা এবং নকল স্ট্রিংয়ের সমান। এগুলির প্রত্যেকটি পাইপলাইনে রেখে গেছে এবং আউটপুট অন্তর্ভুক্ত।



3

জে, 26 বাইট

,.(#~(-:/:~@~.)@":"0)i.1e4

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

ব্যাখ্যা

,. (#~ (-: /:~@~.)@":"0) i.1e4
                         i.1e4  NB. list 0 to 9999
                     "0         NB. for each number in the input list
                  @":"0         NB. convert it to a string and
   (#~ (         )              NB. remove any not passing this test:
        -:                      NB. the string of digits matches
              @~.               NB. the nub of the digits (dups removed)
           /:~                  NB. sorted
,.                              NB. ravel items: take the result of all that
                                NB. and turn it into a big column


3

05 এ বি 1 ই (উত্তরাধিকার) , 8 বাইট

4°ÝD€êû

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

05AB1E এর নতুন সংস্করণেও কাজ করে তবে কোনও কারণে বেদনাদায়কভাবে ধীর হয়।

কিভাবে?

4 ° ÝD € êà »- সম্পূর্ণ প্রোগ্রাম।
4 ° Ý - পুশ করুন [0 ... 10000]।
   ডি € ê - প্রতিটি সংখ্যাকে [0 ... 10000] বাছাই এবং একই সময়ে প্রতিলিপিতে চাপ দিন।
      Ã »- এবং নিউলাইন দ্বারা দুটি তালিকার আন্তঃসংযোগে যোগদান করুন।

চমৎকার উত্তর. আমার যে 9 টি বাইটার ছিল তার চেয়ে ভাল (যা কেবলমাত্র উত্তরাধিকার হিসাবে কাজ করে)।
কেভিন ক্রুইজসেন



2

পাইথন 2 , 64 61 বাইট

lambda:[x for x in range(9999)if sorted(set(`x`))==list(`x`)]

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

পূর্ণসংখ্যার স্ট্রিং উপস্থাপনের অনন্য অক্ষর পান, তাদের সাজান এবং ফলাফলটিকে মূল সংখ্যার সাথে তুলনা করুন।


আপনি একটি বাইট ব্যবহার করে সংরক্ষণ করতে পারবেন range(9999)অথবা মধ্যে 6790 9999 নম্বরে আমাদের সমাধান অন্য কোন সংখ্যা BTW প্রায় অভিন্ন :)
DJMcMayhem

@ ডিজেএমসিএমহেম তবে তারপরে এটি 10,000 এর নিচে সমস্ত সংখ্যা চেক করবে না ....: পি ধন্যবাদ! কখনও কখনও আমি এই চ্যালেঞ্জগুলির সাথে খুব আক্ষরিক হয়ে উঠি।
ট্রিগারনমেট্রি


2

কাঠকয়লা , 19 বাইট

ΦEXχ⁴Iι¬Φι∧쬋§ι⊖μλ

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। ব্যাখ্যা:

   χ                Predefined variable 10
  X                 To the power
    ⁴               Literal 4
 E                  Map over implicit range
      ι             Current value
     I              Cast to string
Φ                   Filter over strings where
         ι          Current string
        Φ           Filtered over characters
           μ        Character index (is nonzero)
          ∧         And
                 μ  Character index
                ⊖   Decremented
              §     Indexed into
               ι    Current string
            ¬       Is not
             ‹      Less than
                  λ Current character
       ¬            Results in an empty string
                    Implicitly print matches on separate lines

2

জেলি , 13 9 8 বাইট

@ ডেনিসকে 5 টি বাইট সংরক্ষণ করা হয়েছে

9œcⱮ4ẎŻY

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

ব্যাখ্যা

অঙ্কগুলি [1 ... 9] নিয়ে এবং দৈর্ঘ্যের ≤ 4 এর সমস্ত সংমিশ্রণগুলি সন্ধান করে 10000 এর নীচে সমস্ত লেসিকোগ্রাফিকভাবে সংখ্যা বাড়িয়ে তোলে।

9œcⱮ4ẎŻY    Main link. Arguments: none
9           Yield 9.
   Ɱ4       For each n in [1...4]:
 œc           Yield the combinations of the range [1...9] of length n.
     Ẏ      Tighten; dump each of the 4 lists generated into the main list.
      Ż     Prepend a 0 to the list.
       Y    Join on newlines.

জেলি , 11 10 9 বাইট

@ এরিকথ আউটগলফারকে একটি বাইট ধন্যবাদ সংরক্ষণ করা হয়েছে

ȷ4Ḷ<ƝẠ$ƇY

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

ব্যাখ্যা

পরিসরের মধ্যে দিয়ে ফিল্টার করে, শব্দকোষের দিক থেকে বাড়ছে এমন সংখ্যাগুলি রেখে।

ȷ4Ḷ<ƝẠ$ƇY    Main link. Arguments: none
ȷ4           Yield 10^4 (10000).
  Ḷ          Generate the range [0...10000).
       Ƈ     Filter; yield only the numbers where this link return a truthy value.
      $        Run these two links and yield the result.
    Ɲ            For each pair of items (digits) in the number:
   <               Check whether the left digit is less than the right digit.
     Ạ           All; check that every comparison yielded true.
               This yields whether the digits are strictly increasing.
        Y    Join the filtered list on newlines.

2

সি # (ভিজ্যুয়াল সি # ইন্টারেক্টিভ সংকলক) , 102 101 ... 73 বাইট

-12 এবং -4 ধন্যবাদ @ ডেনিস!

for(var i=0;i<7e3;i++)if((i+"").Aggregate((a,b)=>a<b?b:':')<':')Print(i);

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

0 থেকে 7 কে পর্যন্ত প্রতিটি পূর্ণসংখ্যার প্রথমে এটি একটি স্ট্রিংয়ে রূপান্তরিত করে পরীক্ষা করা হয়। সি # স্ট্রিংকে চরিত্রের সংখ্যা এবং লিনকিউ হিসাবে বিবেচনা করে, প্রতিটি চরিত্রের জন্য সমষ্টিগত হিসাবে গণনা করা হয়:

  • সঞ্চিত মানকে বর্তমানের অক্ষরের সাথে তুলনা করুন
  • বর্তমানের অক্ষর যদি জমা হওয়ার চেয়ে বেশি হয় তবে বর্তমান অক্ষরটি ফিরিয়ে দিন
  • অন্যথায় :যা চেয়ে বড় ফিরে9

এর ফলাফল যদি এর চেয়ে কম হয় :, তবে সংখ্যাটি ডিক্সিকোগ্রাফিকভাবে সংখ্যাগুলি বাড়িয়েছে।


চ্যালেঞ্জটি কি বলে না যে 0-10000 থেকে সমস্ত সংখ্যা মুদ্রিত করা উচিত? আমি নিশ্চিত যে এই সংখ্যাগুলি 0-7000 মুদ্রণ করে
অজ্ঞতার

আমি বিশ্বাস করি সবচেয়ে বড় বৈধ সংখ্যাটি কী 6789? এটি এর চেয়ে কম 7000, সুতরাং আপনাকে কোনও উচ্চতর যেতে হবে না।
ডানা

আচ্ছা বুঝলাম. আমাকে বোকা
বানাও

মোটেও বোকামি নয় :) আমি নিশ্চিত যে আমি এটি অন্য কারও উত্তর থেকে ধার নিয়েছি এবং তারা কেন তা করেছে তা নিয়ে আমি আমার মাথা আঁচড়ালাম।
ডানা

2

ওল্ফ্রাম ল্যাঙ্গুয়েজ (ম্যাথমেটিকা) , 36 বাইট

আমি এটি লেখার পরে এটি স্পষ্ট করে দেওয়া হয়েছিল যে প্রতিটি সংখ্যা অবশ্যই একটি নতুন লাইনে থাকতে হবে, সুতরাং এর জন্য +7 বাইট Print/@

এই পদ্ধতিটি Subsetsফাংশন 1) কোনও সংখ্যার প্রতিলিপি দেয় না এবং 2) সেট আকার এবং সেট বিষয়বস্তু দ্বারা আউটপুটটি সাজায় এই সত্যটির সুবিধা নেয় । FromDigitsঅঙ্কের প্রতিটি তালিকা একত্রিত করে।

@ মিস্টার এক্সকোডারকে -1 বাইট ধন্যবাদ

Print/@FromDigits/@Range@9~Subsets~4

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


1
Print/@FromDigits/@Range@9~Subsets~436 বাইট জন্য।
মিঃ এক্সকোডার 14

মজার কথা, আমি এটি ভেবেছিলাম এবং এটি করিনি কারণ আমি ভেবেছিলাম @ @ এর চেয়ে বেশি প্রাধান্য পেয়েছে
কেলি লোডার

2

কে (এনএনজি / কে) / কে (ওকে) , 32 30 26 বাইট

সমাধান:

`0:$&&/'1_'>':'" ",'$!9999

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

ব্যাখ্যা:

`0:$&&/'1_'>':'" ",'$!9999 / the solution
                     !9999 / range 0..9998 (could use !6890)
                    $      / string
               " ",'       / prepend " " to each (lower than "0" in ascii)
            >:'            / greater-than each-previous?
         1_'               / drop first result from each
      &/'                  / max (&) over (/)
    &                      / indices where true
   $                       / convert to string
`0:                        / print to stdout

2

জাভাস্ক্রিপ্ট আরপিএল, 64 বাইট

পাব গল্ফ একটি বিট এত সম্ভবত অনুকূল থেকে অনেক দূরে।

(f=n=>n&&f(n-1)+([...n+``].every(x=>y<(y=x),y=0)?`
`+n:``))(7e3)

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

হ্যাঁ, আইআইএফই ব্যতীত এটি করা কয়েক বাইট সংক্ষিপ্ত হবে তবে ডাকা হলে এটি একটি ওভারফ্লো ত্রুটি ছুঁড়ে দেয় যা সাধারণত গল্ফ হয় কারণ আমরা কোড গল্ফের উদ্দেশ্যে অসীম স্মৃতি অনুমান করতে পারি তবে আমার কাছে মনে হয় না কেসি চ্যালেঞ্জের চেতনায়।


আমি আইআইএফই ছাড়া ওভারফ্লো ত্রুটি পাই না।
স্পাইটমাস্টার

এটি কি কোনও ফাংশন জমা দেওয়া বা একটি সম্পূর্ণ প্রোগ্রাম? যদি তা না হয় তবে console.logআপনার নিজের জমাটি জাভাস্ক্রিপ্ট REPL হিসাবে গণনা করা বা পুনরায় বিবাদ করা উচিত ।
ডেনিস

2

সি (জিসিসি) , 97 89 81 বাইট

-8 বাইট জন্য সিলিংক্যাট ধন্যবাদ ।

আর -8 ডেনিসকে ধন্যবাদ

g(n){n=!n||n/10%10<n%10&&g(n/10);}f(i){for(i=-1;++i<7e3;g(i)&&printf("%u\n",i));}

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



এই আপডেট করা হবে না?
ASCII- কেবল

@ এএসসিআইআই কেবল হয়েছে। দুঃখিত যদি এই নজরদারি আপনাকে বিরক্ত করে।
গ্যাস্ট্রোপনার





1

জেলি , 7 বাইট

<ƝẠ$⁹#Y

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

কিভাবে?

<ƝẠ$⁹#Y - Main Link: no arguments (implicit z=0)
    ⁹   - literal 256
     #  - count up from n=z (0) finding the first 256 for which this is truthy:
   $    -   last two links as a monad:
 Ɲ      -     neighbours (implicitly gets digits of n):
<       -       less than?
  Ạ     -     all truthy? (N.B. yields 1 for an empty list)
      Y - join with newlines

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