আউটপুট বিচ্ছিন্ন ফ্যাক্টর কিউবয়েডস


14

আউটপুট বিচ্ছিন্ন ফ্যাক্টর কিউবয়েডস

আজকের কাজটি খুব সহজ: একটি ধনাত্মক পূর্ণসংখ্যার প্রদত্ত, প্রতিটি ঘনক্ষেত্রের প্রতিনিধিকে তার উপাদানগুলির দ্বারা আউটপুট আউটপুট।

ব্যাখ্যা

কিউবয়েডের ভলিউম হল তার তিন পাশের দৈর্ঘ্যের গুণফল। উদাহরণ হিসেবে বলা যায়, ভলিউম 4 যার পাশ লেন্থ হয় পূর্ণসংখ্যার পক্ষের থাকতে পারে একটি কিউবইড [1, 1, 4], [1, 2, 2], [1, 4, 1], [2, 1, 2], [2, 2, 1], অথবা [4, 1, 1]। তবে এর মধ্যে কিছুগুলি একই কিউবয়েডের প্রতিনিধিত্ব করে: যেমন [1, 1, 4]এবং [4, 1, 1]একই ঘন ঘন ঘূর্ণন। ভলিউম 4 এবং পূর্ণসংখ্যার পার্শ্বযুক্ত দুটি পৃথক কিউবিড রয়েছে: [1, 1, 4]এবং [1, 2, 2]। আউটপুটটি প্রথম কিউবয়েডের কোনও উপস্থাপনা এবং দ্বিতীয় কিউবয়েডের কোনও উপস্থাপনা হতে পারে।

ইনপুট

আপনার প্রোগ্রামটি অবশ্যই positive একক ধনাত্মক পূর্ণসংখ্যা গ্রহণ করবে ।1এন231-1

আউটপুট

আপনাকে কোনও তালিকা বা অন্য কোনও গ্রহণযোগ্য উপায়ে সমস্ত সম্ভাব্য কিউবিডগুলি আউটপুট করতে হবে। যেমন

Input  Output
  1    [[1, 1, 1]]
  2    [[1, 1, 2]]
  3    [[1, 1, 3]]
  4    [[1, 1, 4], [1, 2, 2]]
  8    [[1, 1, 8], [1, 2, 4], [2, 2, 2]]
 12    [[1, 1, 12], [1, 2, 6], [1, 3, 4], [2, 2, 3]]
 13    [[1, 1, 13]]
 15    [[1, 1, 15], [1, 3, 5]]
 18    [[1, 1, 18], [1, 2, 9], [1, 3, 6], [2, 3, 3]]
 23    [[1, 1, 23]]
 27    [[1, 1, 27], [1, 3, 9], [3, 3, 3]]
 32    [[1, 1, 32], [1, 2, 16], [1, 4, 8], [2, 2, 8], [2, 4, 4]]
 36    [[1, 1, 36], [1, 2, 18], [1, 3, 12],[1, 4, 9], [1, 6, 6], [2, 2, 9], [2, 3, 6], [3, 3, 4]]

উপ-তালিকাগুলি বাছাই করার দরকার নেই যতক্ষণ না সেগুলি অনন্য।

স্কোরিং

এটি কোড গল্ফ, তাই বাইট জেতে সংক্ষিপ্ত উত্তর। স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ।

এখানে একটি পরীক্ষার কেস জেনারেটর রয়েছে

লিডারবোর্ড

নিয়মিত লিডারবোর্ড এবং ভাষার দ্বারা বিজয়ীদের একটি সংক্ষিপ্ত বিবরণ উভয়ই তৈরি করতে এখানে একটি স্ট্যাক স্নিপেট।

আপনার উত্তরটি প্রদর্শিত হয়েছে তা নিশ্চিত করার জন্য, দয়া করে নীচের মার্কডাউন টেমপ্লেটটি ব্যবহার করে আপনার উত্তরটি শিরোনাম দিয়ে শুরু করুন:

# Language Name, N bytes

Nআপনার জমা দেওয়ার আকারটি কোথায় ? আপনি যদি নিজের স্কোরটি উন্নত করেন তবে আপনি পুরানো স্কোরগুলি শিরোনামে রেখে দিতে পারেন । এই ক্ষেত্রে:

# Ruby, <s>104</s> <s>101</s> 96 bytes

যদি আপনি নিজের শিরোনামে একাধিক সংখ্যা অন্তর্ভুক্ত করতে চান (যেমন আপনার স্কোর দুটি ফাইলের সমষ্টি বা আপনি আলাদাভাবে দোভাষী পতাকা দণ্ডের তালিকা করতে চান), নিশ্চিত করুন যে আসল স্কোরটি শিরোনামের শেষ সংখ্যা:

# Perl, 43 + 2 (-p flag) = 45 bytes

আপনি ভাষাটির নামটিকে একটি লিঙ্কও বানাতে পারেন যা লিডারবোর্ড স্নিপেটে প্রদর্শিত হবে:

# [><>](http://esolangs.org/wiki/Fish), 121 bytes



উত্তর:


4

জেলি , 7 বাইট

œċ3P⁼¥Ƈ

একটি মোনাডিক লিঙ্কটি ইতিবাচক পূর্ণসংখ্যাকে গ্রহণ করে যা ইতিবাচক পূর্ণসংখ্যার 3-তালিকার একটি তালিকা দেয়।

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

কিভাবে?

œċ3P⁼¥Ƈ - Link: positive integer, N
  3     - literal three
œċ      - all combinations (of [1..N]) of length (3) with replacement
           i.e. [[1,1,1],[1,1,2],...,[1,1,N],[1,2,2],[1,2,3],...,[1,2,N],...,[N,N,N]]
      Ƈ - filter keep those for which:
     ¥  -   last two links as a dyad:
   P    -     product
    ⁼   -     equals (N)?

5

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

কিউবিডগুলি STDOUT এ মুদ্রণ করে।

n=>{for(z=n;y=z;z--)for(;(x=n/y/z)<=y;y--)x%1||print(x,y,z)}

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

মন্তব্য

n => {                // n = input
  for(                // outer loop:
    z = n;            //   start with z = n
    y = z;            //   set y to z; stop if we've reached 0
    z--               //   decrement z after each iteration
  )                   //
    for(              //   inner loop:
      ;               //     no initialization code
      (x = n / y / z) //     set x to n / y / z
      <= y;           //     stop if x > y
      y--             //     decrement y after each iteration
    )                 //
      x % 1 ||        //     unless x is not an integer,
      print(x, y, z)  //     print the cuboid (x, y, z)
}                     //

5

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

f n=[[a,b,c]|a<-[1..n],b<-[1..a],c<-[1..b],a*b*c==n]

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

টিপলসগুলি অবতরণ ক্রমে রয়েছে। "3" একটি স্বল্প পরিমাণের সংখ্যা বলে মনে হচ্ছে যে 3 টি লুপগুলি লিখতে আমার কাছে আসা সাধারণগুলির চেয়ে কম ছিল।


আমি প্রত্যাবর্তিত তালিকার বিষয়বস্তু টিপলসকে কল করার মেটা-আপত্তি পছন্দ করি like
জোনাথন ফ্রেচ


4

জেলি , 11 বাইট

ÆDṗ3Ṣ€QP=¥Ƈ

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

একটি মোনাডিক লিঙ্কটি একটি পূর্ণসংখ্যাকে তার যুক্তি হিসাবে গ্রহণ করে এবং পূর্ণসংখ্যার তালিকার একটি তালিকা ফেরত দেয়।

ব্যাখ্যা

ÆD          | Divisors
  ṗ3        | Cartesian power of 3
    Ṣ€      | Sort each list
      Q     | Unique
         ¥Ƈ | Keep only where the following is true (as a dyad, using the original argument as right argument)
       P    | - Product
        =   | - Is equal (to original argument)

2

হাস্কেল , 67 60 59 বাইট

এন{1,2,...,এন}

f n=[x|x@[a,b,c]<-mapM id$[1..n]<$":-)",a*b*c==n,a<=b,b<=c]

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


1
আমি মনে করি কেবলমাত্র একটি হাসি দিয়ে তিনটি টিউপস সঠিকভাবে উত্পাদিত হতে পারে।
জোনাথন ফ্রেচ

: -)
flawr

2

রেটিনা , 59 বাইট

.+
*
2+%L$`(?<=(_+))(?=(\1)*$)
$` _$#2*
A`_(_+) \1\b
_+
$.&

এটি অনলাইন চেষ্টা করুন! লিঙ্কে পরীক্ষার স্যুট অন্তর্ভুক্ত। ব্যাখ্যা:

.+
*

অ্যানারিতে রূপান্তর করুন।

2+%L$`(?<=(_+))(?=(\1)*$)
$` _$#2*

দু'বার পুনরাবৃত্তি করা, প্রতিটি লাইনের শেষ সংখ্যাটিকে তার সম্ভাব্য সংখ্যক কারণগুলির মধ্যে ভাগ করুন। চেহারাটি লোভী এবং পারমাণবিক, সুতরাং এটি একবারে শেষ সংখ্যার উপসর্গটির সাথে মিলে গেলে এটি ব্যাকট্র্যাক করবে না। এটি তিনটি কারণের সমস্ত সম্ভাব্য অনুমতি তৈরি করে।

A`_(_+) \1\b

লাইনগুলি মুছুন যেখানে ফ্যাক্টরগুলি আরোহী ক্রমে নেই।

_+
$.&

দশমিক রূপান্তর করুন।




2

সি (ঝনঝন) , 89 বাইট

a,b,x;f(n){for(a=n;a;a--)for(b=a;b&&(x=n/a/b)<=b;b--)x*b*a-n||printf("%d,%d,%d ",x,b,a);}

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

@ আর্নল্ড Port এর বন্দর 👍

সংরক্ষণ করা 1 জনাথন ফ্রেঞ্চ আরও ভাল আউটপুট ফর্ম্যাট ধন্যবাদ


1
"%d %d %d\n"~> "%d,%d,%d "একটি বাইট সংরক্ষণ করবে।
জোনাথন ফ্রেচ

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