সমস্ত * টিপলস তালিকা!


35

একটি ইনপুট এন দেওয়া একটি প্রোগ্রাম লিখুন, প্রাকৃতিক সংখ্যা ব্যবহার করে সমস্ত সম্ভাব্য এন-টিপল তৈরি করবে।

n=1
(1),(2),(3),(4),(5),(6)...

n=2
(1,1),(1,2),(2,1),(2,2),(1,3),(3,1),(2,3),(3,2),(3,3)...

n=6
(1,1,1,1,1,1) (1,1,1,1,2,1) (1,1,1,2,1,1)... 
  • আউটপুটটি এমন কোনও ক্রমে হতে পারে যা অন্য কোনও নিয়ম ভঙ্গ করে না।
  • তাত্ত্বিকভাবে প্রোগ্রামটি চিরতরে চলতে হবে এবং সমস্ত প্রযোজ্য টিউপলকে ঠিক একবারে তালিকাভুক্ত করতে হবে।
    • বাস্তবে, আপনার প্রোগ্রামটি আপনার পূর্ণসংখ্যার ধরণের সীমা এবং ক্র্যাশে পৌঁছে যাবে। যতদিন প্রোগ্রাম এই গ্রহণযোগ্য হবে অসীম দীর্ঘ যদি শুধুমাত্র আপনার পূর্ণসংখ্যা টাইপ সীমাহীন ছিল চালানো।
    • প্রতিটি বৈধ টিপল অবশ্যই সীমাবদ্ধ সময়ের মধ্যে তালিকাভুক্ত করা উচিত, যদি কেবল প্রোগ্রামটিকে এত দীর্ঘ সময় চালানোর অনুমতি দেওয়া হয়।
  • আউটপুট, আপনার বিকল্পে, প্রাকৃতিক সংখ্যা ছাড়াও শূন্যগুলি অন্তর্ভুক্ত করতে পারে।
  • আপনি আপনার সুবিধার জন্য আপনার প্রোগ্রামের আউটপুট ফর্ম্যাটটি চয়ন করতে পারেন, যতক্ষণ না প্রতিটি টিউলের অভ্যন্তরে টিপলস এবং সংখ্যার মধ্যে পৃথকীকরণ স্পষ্ট এবং ধারাবাহিক। (উদাহরণস্বরূপ, প্রতি লাইনে একটি টিপল))
  • ইনপুট (এন) এক থেকে ছয় পর্যন্ত পূর্ণসংখ্যা। প্রয়োজনীয় আচরণটি এই ব্যাপ্তির বাইরের ইনপুটগুলির জন্য সংজ্ঞায়িত।
  • কোড-গল্ফ বিধি প্রয়োগ, সংক্ষিপ্ততম প্রোগ্রামের জয়।

স্যান্ডবক্স পর্যায়ে প্রতিক্রিয়ার জন্য "আর্টেমিস ফাউল" কে ধন্যবাদ।


আমি ধরে নিলাম এটি বৈধ কিনা যদি প্রোগ্রামটি ক্র্যাশ করে তখন এ পর্যন্ত ছাপানো টিপলগুলি ছাড়াও কিছু এক্সটেনারাস আউটপুট উত্পাদন করে, তাই না?
লুইস মেন্ডো

1
আমাদের যেতে হবে কি আউটপুট করা উচিত বা এমন একটি ফাংশন হবে যা পর্যাপ্ত সময়ের শেষে অসীম তালিকাটি দেয়?
জোনাথন অ্যালান

6
"আপনি আপনার সুবিধার্থে আপনার প্রোগ্রামের আউটপুট ফর্ম্যাটটি বেছে নিতে পারেন, যতক্ষণ না প্রতিটি টিউলের অভ্যন্তরে টিপলস এবং সংখ্যার মধ্যে বিভাজন স্পষ্ট এবং ধারাবাহিক হয়" - আমরা কি পৃথক (ধারাবাহিকভাবে পৃথক হওয়া) পৃথকীকরণ আউটপুট আউট করতে পারি (যেমন এর মতো )?
জোনাথন অ্যালান

@ জোনাথান অ্যালান আমাকে প্রোগ্রামের অংশ হিসাবে সেই অবজেক্টের অসীম বিষয়বস্তুর আউটপুট অন্তর্ভুক্ত করতে হবে।
বিলপিজি

1
সম্পর্কিত (প্রাকৃতিক সংখ্যার পরিবর্তে পূর্ণসংখ্যা)
ফল

উত্তর:


24

কাস্তে , 2 বাইট

πN

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

ব্যাখ্যা

Nপ্রাকৃতিক সংখ্যার অসীম তালিকা [1,2,3,4,..πকার্তেসিয়ান শক্তি। ফলাফল তালিকার অসীম তালিকা। পছন্দসই দৈর্ঘ্যের প্রতিটি তালিকা ঠিক একবার ঘটে কারণ এর πমতো দুর্দান্ত। ইনপুট এবং আউটপুট অন্তর্ভুক্ত।


1
বাহ, এবং এটি [1,1, n] কোনওভাবেই করে না। অর্ডার আউটপুট করার কোনও প্যাটার্ন আছে কি?
বিলপিজি

1
@ বিলিপজি এটি পুনরাবৃত্তভাবে টিউপসগুলি তৈরি করে: n- মূল তালিকার কার্টেসিয়ান পণ্য এবং n-1সূচকের যোগক্রমের ক্রমবর্ধমান ক্রম অনুসারে - টিপলগুলির তালিকার সাহায্যে টিপলস প্রাপ্ত হয় ।
জাগরব

"সূচকগুলির যোগফলের আরোহী ক্রম" - আপনি কি এটি পরিষ্কার করতে পারেন? আমি কষ্ট এইজন্য হচ্ছে কেন, যেমন, 2,2,2পরে আসে 4,1,2এবং 5,1,1
জোনাহ

2
@ জোনাঃ পুনরাবৃত্তি এইভাবে কাজ করে। আপনি 1 টি-টিপলস দিয়ে শুরু করবেন N। 2-টিউপলসের জন্য আপনি Nসূচকগুলির যোগক্রম অনুসারে কার্টেসিয়ান পণ্য গ্রহণ করেন । উভয় তালিকায় প্রতিটি সংখ্যা nসূচকে থাকে nসুতরাং 2 দৈর্ঘ্যের জন্য ফলাফলটি যোগফলের মাধ্যমে অর্ডার হয়। 3-টিউপলস পেতে Nআপনি এই তালিকাগুলিতে উপাদানগুলির সূচকগুলির যোগফল অনুসারে কার্টেসিয়ান পণ্য এবং 2-টিউপলগুলির তালিকা গ্রহণ করেন। এটি টিপলের যোগফলকে দেখায় না, এটি টিপলসের তালিকায় এর অবস্থানটি দেখায়।
জাগারব

2
"এই কার্যে অনন্তের বিভিন্ন মাত্রাগুলি নির্ণয় করুন এবং এমন একটি প্যাটার্ন সন্ধান করুন যা এটি গণনাযোগ্য অনন্তের তুলনায় হ্রাস করে, তারপরে এমন একটি প্রোগ্রাম লিখুন যা এই প্যাটার্নটির সাথে পুনরাবৃত্তি করে" " - "আরে, এর জন্য আমার একটা বিল্টিন আছে!"
ফ্যাবিয়ান রোলিং

10

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

([1..]>>=).(!)
0!s=[[]|s<1]
n!s=[a:p|a<-[1..s],p<-(n-1)!(s-a)]

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

n!snযোগফলের সমস্ত- টিউপস তৈরি করে s

তারপর উত্তর ([1..]>>=).(!)অর্থাত, \n -> [t | s<-[1..], t<-n!s]

এটি nটিউপসগুলির একটি অসীম অলস তালিকার (পূর্ণসংখ্যার তালিকা) একটি পূর্ণসংখ্যাকে ম্যাপ করার একটি ফাংশন ।


5

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

f n=[l|k<-[0..],l<-mapM([0..k]<$f)[0..n],sum l==k]

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

তালিকা nঅনুসারে - সমষ্টি অনুসারে বাছাই করা 0 থেকে কে পর্যন্ত mapMসমস্ত nধরণের সংখ্যা উত্পন্ন করতে ভারী উত্তোলন করে । <$fকৌতুক করা হয় এখানে ব্যাখ্যা

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

f 1=pure<$>[0..]
f n=[a-k:k:t|a:t<-f$n-1,k<-[0..a]]

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

প্রতিটি সম্ভাব্য উপায়ে প্রতিটি- টিপলের প্রথম সংখ্যাটিকে দুটি সংখ্যায় বিভক্ত করে অবিচ্ছিন্নভাবে সমস্ত- n-1টিপলসকে সমস্ত- স্তরের মধ্যে প্রসারিত করে।nan-1a-k,k


4

পাইথ - 9 বাইট

গল্ফের জন্য @ ফ্রিআমএইটিজিমনকে ধন্যবাদ

সমস্ত এক্স এর মাধ্যমে লুপ হয় এবং [1..x] ^ n নেয়। এটি সদৃশ তৈরি করে, সুতরাং কেবলমাত্র সেই এক্সটি নতুন রাখে যা সেগুলিতে এক্স থাকে। ফর্ম্যাটটি কিছুটা অদ্ভুত, তবে এটি আরও একটি বাইট দিয়ে স্ট্যান্ডার্ড করা যায়,.V1j}#b^Sb

.V1}#b^Sb

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


1
f}bT-> }#bএছাড়াও, আপনার বাইট গণনাটি এই মুহুর্তে ভুল বলে মনে হচ্ছে?
FryAmTheEggman

@ ফ্রাইআম দ্য এজম্যান অপেক্ষা করুন, কেন এটি ভুল? আপনি যদি টিআইও লিঙ্কের কথা বলছেন তবে এর সাথে ফর্ম্যাট করাও অন্তর্ভুক্ত j(b)। এছাড়াও, গল্ফ জন্য ধন্যবাদ।
মালটিসেন

আহ, এটাই আমাকে বিভ্রান্ত করেছে, দুঃখিত!
FryAmTheEggman

3

ব্র্যাচল্যাগ (ভি 2), 9 বাইট

~l.ℕᵐ+≜∧≜

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

এটি একটি অসীম জেনারেটর যা সমস্ত সম্ভাব্য টিপল জেনারেট করে। টিআইও লিঙ্কটিতে একটি শিরোনাম রয়েছে যা জেনারেটরটি 1000 উপাদান তৈরি করতে এবং সেগুলি মুদ্রণের জন্য ব্যবহার করে (তবে জেনারেটর অনির্দিষ্টকালের জন্য চালিয়ে যেতে পারত যদি আমি তার পরিবর্তে জিজ্ঞাসা করি; ব্র্যাচল্যাগের পূর্ণসংখ্যগুলি সীমাহীন হয়)।

এটির মতো মনে হচ্ছে একটি নিবিড় উপায় হওয়া উচিত, তবে অনেকগুলি প্রতিবন্ধকতা রয়েছে এবং এটিই আমি একক প্রোগ্রামের সাথে এগুলি ফিট করতে পারি ers

ব্যাখ্যা

~l.ℕᵐ+≜∧≜
  .        Generate
        ≜  all explicit
~l         lists whose length is {the input}
    ᵐ      for which every element
   ℕ       is non-negative
     +     and whose sum
      ≜    is used to order the lists (closest to zero first)
       ∧   [remove unwanted implicit constraint]

ঘটনাচক্রে, ব্র্যাচলগের দৃষ্টিকোণ থেকে ঠিক একই জিনিসটি সত্ত্বেও, দু'জনের আমার ব্যাখ্যাগুলি কতটা আলাদা তা আমাকে আকর্ষণীয় করে তুলেছিল। প্রোগ্রামটিতে প্রথমটি হ'ল প্রথম অ-নিরপেক্ষবাদী শিকারী, সুতরাং এটি ফলাফলের ক্রম নির্ধারণ করে; এই ক্ষেত্রে এটি তালিকার যোগফল 0, 1, 2, 3… অনুসারে সমস্ত সম্ভাব্য স্পষ্ট মানগুলি গণনা করে, এবং তালিকাগুলি তাদের যোগফলের ক্রম অনুসারে আউটপুট রয়েছে তা নিশ্চিত করার জন্য ব্যবহৃত হচ্ছে (এটি প্রতিটি সম্ভাব্য নিশ্চিত করে যে একটি সীমাবদ্ধ আউটপুট পরে তালিকা উপস্থিত হয়)। দ্বিতীয়টি তালিকাটির সমস্ত সুস্পষ্ট সম্ভাবনা গণনা করতে ব্যবহৃত হয় (তালিকার উপাদানগুলি একে অপরের সাথে সম্পর্কিত কী তা নির্দিষ্ট করে এমন সূত্র আউটপুট না দিয়ে)।


↰₁ẉ⊥অসীম মুদ্রণের জন্যও এটি একটি ভাল শিরোনাম।
অসম্পূর্ণ স্ট্রিং

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

1
@ আনরেলেটেড স্ট্রিং আপনার কোড প্রিিকেটটিকে জেনারেটর হিসাবে ব্যবহার করে না, যদিও। জেনারেটর ব্যবহার করে তালিকা আউটপুটকে মঞ্জুরি দেওয়ার স্পষ্ট নিয়ম রয়েছে । আপনি আপনার টিআইও লিঙ্কটিতে যা করছেন 1000 টি বিভিন্ন জেনারেটর পেতে একটি লুপে শিকারীকে কল দিচ্ছেন, তারপরে তাদের প্রত্যেকের কাছ থেকে প্রথম আউটপুট নেওয়া; এটি জেনারেটরগুলিতে করা সত্যিই অপ্রাকৃত অপারেশন এবং এটি আপনাকে তৈরি করতে পারে এমন অন্যান্য উপাদানগুলি আপনাকে দেখতে দেয় না।
ais523

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

2

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

{$++.polymod(1+$++ xx $_-1).say xx *}

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

মূলত polymodপ্রয়োজনীয় যতগুলি এন্ট্রি নিয়ে চলে , যেখানে মডিউলগুলি সর্বদা ইনপুটের চেয়ে বড় থাকে, যেমন ০. পলিমোড (১,১,১), ১.পলিমড (২,২,২) ইত্যাদি That এভাবে অঙ্কটি সর্বদা মধ্যে থাকে পরিসর. পার্ল 6 আমাকে মডুলো অনন্ত হতে দেবে না ...


5
এটি প্রতিটি টিপলকে ঠিক একবারে তালিকাভুক্ত করে না (উদাহরণস্বরূপ, (0, 1, 0, 0)তালিকাভুক্ত নয়)।
bb94


2

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

n=>{var a=new int[n];int j=0;void g(int k){if(k<n)for(int i=0;i++<j;g(k+1))a[k]=i;else if(a.Sum()==j)WriteLine(string.Join(' ',a));}for(;;j++)g(0);}

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

-3 বাইটস @ এএসসিআইআইকে ধন্যবাদ!

// n: size of tuples to generate
n=>{
  // a: current tuple workspace
  var a=new int[n];
  // j: target sum value
  int j=0;
  // recursive function that works on slot k
  void g(int k){

    // tuple is not fully generated,
    if(k<n)

      // try all values from (0,j]
      for(int i=0;i++<j;
        // recursive call - generates all
        // values from (0,j] in the next slot
        g(k+1)
      )
        // update the kth slot
        a[k]=i;

    // tuple is fully generated, however
    // we should only display if the sum
    // is equal to the target sum. tuples
    // are generated many times, this
    // let's us enforce that they are only
    // displayed once.
    else if(a.Sum()==j)
      WriteLine(string.Join(' ',a));
  }
  // increment the high value forever
  // while continually starting the
  // recursive function at slot 0
  for(;;j++)
    g(0);
}

কীভাবে আপনি এটি করেছিলেন
স্ট্যাকস্টাক

সোজা আপ এটি .NET কোর এ পোর্টিং সম্ভবত এখনও আমার অনেক বাইট সংরক্ষণ করতে পারে।
স্ট্যাকস্টাক

এখানে বৃহত্তম কৌশলটি পুনরাবৃত্তি। আমি বেশিরভাগ কৌশলগুলি "ক্রমজাতকরণ" তৈরি করতে দেখেছি। আমি একটি ব্যাখ্যা যোগ করার পরিকল্পনা করছি।
দানা

Writeউদাহরণস্বরূপ '<literal tab>'বা |একই দৈর্ঘ্য সহ এবং অনেক কম লাইন গ্রহণ করে: P
ASCII- কেবল


1

জেলি , 10 (9?) বাইট

9 যদি আমরা অবিচ্ছিন্ন বিচ্ছেদ (যা সম্পর্কে আমি জিজ্ঞাসা করেছি) ব্যবহার করে আউটপুট করতে পারি - অপসারণ

‘ɼṗ³ċƇ®Ṅ€ß

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

কিভাবে?

‘ɼṗ³ċƇ®Ṅ€ß - Main Link: some argument, x (initially equal to n, but unused)
 ɼ         - recall v from the register (initially 0), then set register to, and yield, f(v)
‘          -   f = increment
           - (i.e. v=v+1)
   ³       - program's third command line argument (1st program argument) = n
  ṗ        - (implicit range of [1..v]) Cartesian power (n)
           - (i.e. all tuples of length n with items in [1..v])
     Ƈ     - filter keep those for which:
    ċ      -   count
      ®    -   recall from register
           - (i.e. keep only those containing v)
       Ṅ€  - print €ach
         ß - call this Link with the same arity
           - (i.e. call Main(theFilteredList), again the argument is not actually used)

1
" প্রতিটি টিউলের অভ্যন্তরে টিপলস এবং সংখ্যার মধ্যে বিচ্ছিন্নতা যতক্ষণ স্পষ্ট এবং সামঞ্জস্যপূর্ণ " এর উপর ভিত্তি করে (উদাহরণস্বরূপ, প্রতি লাইনে একটি টুপল।) "আমি ধরে নিয়েছি এটি অনুমোদিত নয় এবং এটি প্রয়োজনীয়, তবে আসুন অপেক্ষা করুন যে ওপিকে কী করতে হবে বলুন।
কেভিন ক্রুইজসেন

1

05 এ বি 1 ই , 15 ই 11 বাইট

[¼¾LIãvy¾å—

একটি বন্দর তৈরি করে -4 বাইট @Maltysen এর Pyth উত্তর

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

ব্যাখ্যা:

[             # Start an infinite loop:
 ¼            #  Increase the counter_variable by 1 (0 by default)
  ¾L          #  Create a list in the range [1, counter_variable]
    Iã        #  Take the cartesian power of this list with the input
      v       #  Loop over each list `y` in this list of lists:
       y¾å    #   If list `y` contains the counter_variable:
             #    Print list `y` with trailing newline

2
প্রোগ্রামটি কখন [1,2,1] এ পাবে? মনে রাখবেন এটি সীমাবদ্ধ সময়ের মধ্যে থাকতে হবে।
বিলপিজি

@ বিলপ্প এখনই ঠিক করা উচিত।
কেভিন ক্রুইজসেন


1

পাইথন 2 , 126 112 106 101 100 83 বাইট

n=input()
i=1
while 1:
 b=map(len,bin(i)[3:].split('0'));i+=1
 if len(b)==n:print b

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

মাইটেলিয়ন থেকে 5 বাইট থেক্স ; আরবোর ag গল চোখ থেকে 1 বাইট ; এক্সনোর থেকে 17 বাইট !

এর আদেশ পার্টিশন আঁকো mমধ্যে nবিন জন্য m = 0,1,2,3,...সঙ্গে বাইনারি সংখ্যার জন্য নির্বাচন করে n-1 0s এবং m 1গুলি।


if i==p:i=0;p*=2i%=p;p<<=i<15 বাইট সংরক্ষণ করতে পারে ।
mypetlion

আমি খুব নিশ্চিত যে এর পরে স্থানটির print bপ্রয়োজন নেই: ডি
আরবো

দেখে মনে হচ্ছে এটি i+pকেবল 1, 2, 3 ... একটি বিভ্রান্ত উপায়ে গণনা করছে এবং তাই কেবল একটি একক চলক হতে পারে।
xnor

@ এক্সনর: ডিওহ! ধারণার মধ্যে এতটা মুড়ে গেছি, গাছের জন্য বন দেখতে পেল না।
চ্যাস ব্রাউন

1

সি # (.নেট কোর) , 608 570 567 বাইট

using C=System.Console;using L=System.Collections.Generic.List<int[]>;class A{static void Main(){L x=new L(),y=new L(),z=new L();int i=int.Parse(C.ReadLine()),j=0,k,l,m;x.Add(new int[i]);while(i>0){j++;for(m=0;m++<i;){foreach(var a in y)x.Add(a);y=new L();foreach(var a in x){for(k=0;k<i;){int[] t=new int[i];System.Array.Copy(a,t,i);t[k++]=j;var b=true;z.AddRange(x);z.AddRange(y);foreach(var c in z){for(l=0;l<i;l++)if(c[l]!=t[l])break;if(l==i)b=false;}if(b)y.Add(t);}}}}for(k=0;k<x.Count;k++){C.Write("[ ");for(l=0;l<i;l++)C.Write(x[k][l]+" ");C.WriteLine("]");}}}

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

আমার godশ্বর আমি কি করেছি (অনেকগুলি লুপ, এটাই আমি করেছি)

এটি কাজ করা উচিত, যদিও!

আপনি যদি মুদ্রণের লুপটিকে একটি বন্ধনীতে সরিয়ে নিয়ে যান, এটি প্রতিবার লুপ হওয়ার সাথে সাথে তালিকাটি তৈরির মতো দেখায়। (যদি আপনি এটি করেন তবে প্রতিটি লুপকে আলাদা করার জন্য একটি নতুন লাইন বা কিছু যুক্ত করার পরামর্শ দিচ্ছি))

সত্যি বলতে, আমার বেশিরভাগ সময় ভাষার সাথে লড়াইয়ে ব্যয় করা হয়েছিল ... কোনও সুন্দর-মুদ্রণের অ্যারে, == এর বিভিন্ন আচরণ নয় ...

আশা করি এই সংস্করণটি পড়া সহজ।

using C=System.Console;
using L=System.Collections.Generic.List<int[]>;
class A{
    static void Main(){
        L x=new L(),y=new L(),z=new L();
        int i=int.Parse(C.ReadLine()),j=0,k,l,m;
        x.Add(new int[i]);
        while(i>0){
            j++;
            for(m=0;m++<i;){
                foreach(var a in y) x.Add(a);
                y=new L();
                foreach(var a in x){
                    for(k=0;k<i;){
                        int[] t=new int[i];
                        System.Array.Copy(a,t,i);
                        t[k++]=j;
                        var b=true;
                        z.AddRange(x);
                        z.AddRange(y);
                        foreach(var c in z){
                            for(l=0;l<i;l++) if(c[l]!=t[l])break;
                            if(l==i)b=false;
                        }
                        if(b)y.Add(t);
                    }
                }
            }
        }
        for(k=0;k<x.Count;k++){
            C.Write("[ ");
            for(l=0;l<i;l++)C.Write(x[k][l]+" ");
            C.WriteLine("]");
        }
    }
}

আমি ঠিক বুঝতে পেরেছি যে আমি যদি স্টেটমেন্টের মুদ্রণ লুপটি আটকে রাখতে পারি তবে এটি প্রিন্ট করে। ফেসপাম এক মুহুর্ত।
স্ট্যাকস্টাক

অপেক্ষা করুন কোন কথা এটি করতে পারে না
স্ট্যাকস্টাক

... ওহে প্রিয়, আমি নিশ্চিত নই যে এই কোডটি আর কাজ করে।
স্ট্যাকস্টাক

এআআআন্ড আর হয় না।
স্ট্যাকস্টাক

1
এর সাথে সৌভাগ্য :) আমি সি # তে একটি সমাধান কোডিং করা শুরু করেছি এবং বুঝতে পেরেছিলাম যে এটি আমার প্রত্যাশার চেয়ে কিছুটা জটিল ier "ভিজ্যুয়াল সি # ইন্টারেক্টিভ" দোভাষী কেন ব্যবহার করবেন না? এটি কেবল শ্রেণীর সংজ্ঞা অন্তর্ভুক্ত না করে একটি গুচ্ছ সংরক্ষণ করবে। যাইহোক, আমার কাছ থেকে +1 :)
ডানা

1

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

{grep $_,{S/.//.split(0)>>.chars}($++.base(2))xx*}

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

অজ্ঞাতনামা কোড ব্লক যা একটি অলস অসীম তালিকার ফিরে আসে। এটি চ্যাস ব্রাউন এর উত্তর হিসাবে একই কৌশল ব্যবহার করে

ব্যাখ্যা:

{grep $_,{S/.//.split(0)>>.chars}($++.base(2))xx*}
{                                                } # Anonymous code block
                                              xx*  # Repeat indefinitely
                                 ($++        )     # From the current index
                                     .base(2)      # Get the binary form
         {S/.//                 }   # Remove the first digit
               .split(0)            # And split by zeroes
                        >>.chars    # And get the length of each section
 grep   ,   # From this infinite list, filter:
      $_      # The groups with length the same as the input

0

ভিডিএম-এসএল , 51 বাইট

g(i)==if i=0then{}else{[x]^y|x:nat,y in set g(i-1)}

ক্রম সংক্ষেপণের সাথে পুনরাবৃত্তিমূলক সেট বোধগম্যতা ..

টিআইও-তে নয়, আপনি কোনও প্রোগ্রামে চলতে পারেন (যদি আপনি নাট টাইপের সীমা চালু করেন বা এটি শেষ করে না):

functions 
g:nat->set of ?
g(i)==if i=0then{}else{[x]^y|x:nat,y in set g(i-1)}

উত্তরে alচ্ছিক 0 টি অন্তর্ভুক্ত করে অন্যথায় এটি 52 বাইট বাধ্যতামূলক হবে nat1 এ



0

পার্ল -M5.010 122 বাইট

$n=shift;
$s.="for\$x$_(1..\$m){"for 1..$n;
$t.="\$x$_ "for 1..$n;
$u.='}'x$n;
eval"{\$m++;$s\$_=qq' $t';/ \$m /&&say$u;redo}"

পাঠযোগ্যতার জন্য কিছু নতুন লাইন যুক্ত হয়েছে (বাইট গণনায় গণনা করা হয়নি)




0

জাভাস্ক্রিপ্ট (ভি 8) , 98 বাইট

n=>{for(a=[],b=[j=1];;b.push(++j))(g=k=>k<n?b.map(i=>(a[k]=i)|g(k+1)):a.includes(j)&&print(a))(0)}

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

হুররে! অবশেষে এটি 100 এর নিচে পেয়েছে :) মূলত আমার সি # উত্তরের একটি বন্দর ।

// n: length of tuples to generate
n=>{
  // a: workspace for current tuple
  // b: range of numbers that grows
  //     - iteration 1: [1]
  //     - iteration 2: [1,2]
  //     - iteration 3: [1,2,3]
  // j: largest number in b
  for(a=[],b=[j=1];;b.push(++j))
    // g: recursive function to build tuples
    // k: index of slot for current recursive call
    (g=k=>
       // current slot less than the tuple size? 
       k<n?
         // tuple generation not complete
         // try all values in current slot and
         // recurse to the next slot
         b.map(i=>(a[k]=i)|g(k+1)):
         // tuple generation complete
         // print tuple if it contains the
         // current high value
         a.includes(j)&&print(a)
    // start recursive function at slot 0
    )(0)
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.