মালবোলজের "ক্রেজি" অপারেটরটি প্রয়োগ করুন


41

ম্যালবলেজ প্রোগ্রামিং ভাষার অনেকগুলি অনন্য বৈশিষ্ট্যগুলির মধ্যে একটি হ'ল এটির অত্যন্ত অনিচ্ছুক OPঅপারেটর, যা কেবলমাত্র ডকুমেন্টেশন এবং উত্স কোডে "অপ" হিসাবে পরিচিত তবে "পাগল" অপারেটর হিসাবে জনপ্রিয় হিসাবে পরিচিত। ভাষার স্রষ্টা বেন ওলমস্টেড তার ডকুমেন্টেশনে যেমন বর্ণনা করেছেন: " প্যাটার্নটির দিকে তাকান না, এটি সেখানে নেই ।"

অপ একটি "ট্রাইটিওয়াইজ" অপারেটর - এটি তার দুটি আর্গুমেন্টের সাথে সম্পর্কিত ত্রৈমাসিকের অঙ্কগুলিতে কাজ করে। প্রতিটি ট্রিটের জন্য (ত্রৈমাসিক বিট), অপের ফলাফলটি নিম্নলিখিত দেখার সারণিতে দেওয়া হয়:

           a
op(a,b)  0 1 2
       +-------
     0 | 1 0 0
   b 1 | 1 0 2
     2 | 2 2 1

উদাহরণস্বরূপ, গণনা করার জন্য op(12345, 54321), প্রথমে তিনটি সংখ্যা লিখুন এবং তারপরে টেবিলে প্রতিটি জোড় লিখে দেখুন:

   0121221020   (12345_3)
op 2202111220   (54321_3)
--------------
   2202220211   (54616_3)

গত গুরুত্বপূর্ণ পয়েন্ট যে Malbolge সমস্ত মান তাই ইনপুট মান 10 একটি প্রস্থের সাথে শূণ্যসমূহ সঙ্গে padded হবে 10 trits চওড়া, হয় (উদাহরণস্বরূপ, op(0, 0)হয় 1111111111তিন মধ্যে।)

আপনার কাজটি হ'ল দুটি পূর্ণসংখ্যা 0 gers a, b<59049 ইনপুট হিসাবে নেওয়া এবং এর পূর্ণসংখ্যা মান আউটপুট করা op(a,b)

পরীক্ষার কেস (বিন্যাসে a b op(a,b)):

0 0 29524
1 2 29525
59048 5 7
36905 2214 0
11355 1131 20650
12345 54321 54616

এখানে একটি রেফারেন্স বাস্তবায়ন (সরাসরি মালবালজ উত্স কোড থেকে অনুলিপি করা হয়েছে)।


28
এর উত্তর কি মালবোজে দেওয়া যাবে? ;)
প্রদর্শিত নাম

3
আমার ধারণা ম্যালবলেজ এখন ভাল গল্ফ করার ভাষা!
ইথান

7
এটির মূল্যের জন্য, এর 54616_3অর্থ এই নয় যে "এই অন্য জিনিসটি হ'ল দশমিক সংখ্যা 54616, তবে এটি বেস তিন হিসাবে উপস্থাপিত"। এর অর্থ " 54616বেস 3 হিসাবে পড়ুন "। যা অবশ্যই, আপনি করতে পারবেন না (এমন কোনও সংখ্যা রয়েছে যা ভালভ সেখানে গণনা করতে পারে না)। আপনি _3পুরোপুরি এবং আরও সঠিকভাবে পরিত্রাণ পেয়েছেন তবে এটি সম্ভবত এখনও ঠিক পরিষ্কার হবে ।
নিক হার্টলি

@ ওরেজস্যান্ডলেমোনস আমি অনুমান করি যে কেবলমাত্র মালবলেজে অপারেটরটি ব্যবহার করা মানক ছাঁটাইয়ের আওতায় পড়বে। বিভিন্ন কোড ব্যবহার করে এটি পুনরায় বাস্তবায়ন করা ঠিক হবে।
পাওলো ইবারম্যান

7
@ PaŭloEbermann না, এটি একটি ফাঁক নয়
ব্যবহারকারী 202729

উত্তর:


43

সি (জিসিসি) , 99 98 96 বাইট

M,a,l,b,o;L(g,e){for(o=b=L'䳣',l=0;o/=2.4;b/=3)M=g/b,g%=b,a=e/b,e%=b,l+=b*(L'𚡁'>>M+6*a+M&3);g=l;}

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


14
আমি নামকরণের স্কিমটি পছন্দ করি!
ম্যাথিউ এম।

28

জাভাস্ক্রিপ্ট (ES7), 56 বাইট

f=(a,b,k=9)=>~k&&(a%3|b%3<<9|8)**2%82%3+3*f(a/3,b/3,k-1)

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

কিভাবে?

প্রদত্ত এবং মধ্যে [ 0..2 ] , আমরা গনা:ab[0..2]

f(a,b)=((a+512b+8)2mod82)mod3

নেতৃস্থানীয়:

 a | b | 512b | a + 512b |  + 8 | squared | MOD 82 | MOD 3
---+---+------+----------+------+---------+--------+-------
 0 | 0 |    0 |      0   |    8 |      64 |   64   |   1                  a
 1 | 0 |    0 |      1   |    9 |      81 |   81   |   0                0 1 2
 2 | 0 |    0 |      2   |   10 |     100 |   18   |   0              +-------
 0 | 1 |  512 |    512   |  520 |  270400 |   46   |   1            0 | 1 0 0
 1 | 1 |  512 |    513   |  521 |  271441 |   21   |   0    -->   b 1 | 1 0 2
 2 | 1 |  512 |    514   |  522 |  272484 |   80   |   2            2 | 2 2 1
 0 | 2 | 1024 |   1024   | 1032 | 1065024 |    8   |   2
 1 | 2 | 1024 |   1025   | 1033 | 1067089 |   23   |   2
 2 | 2 | 1024 |   1026   | 1034 | 1069156 |   40   |   1

ফাংশন পছন্দ

ফর্মটির আরও বেশ কয়েকটি সম্ভাব্য প্রার্থী ফাংশন রয়েছে:

fk,c,p,m(a,b)=((a+kb+c)pmodm)mod3

সংক্ষিপ্ততমগুলির মধ্যে একটি:

f(a,b)=((a+5b+2)4mod25)mod3

তবে ভাল জিনিসটি এটি বিটওয়াইজ অপারেটরগুলির সাথে সম্পাদন করা যেতে পারে, সুতরাং এবং এর দশমিক অংশগুলি করে । এই কারণেই আমরা প্রতিটি পুনরাবৃত্তির মধ্যে গোল না করে কেবল তাদের দ্বারা বিভক্ত করতে পারি ।(a+512b+8)ab3

মন্তব্য

f = (a, b,            // given the input integers a and b
           k = 9) =>  // and starting with k = 9
  ~k &&               // if k is not equal to -1:
    ( a % 3           //   compute (a mod 3)
      | b % 3 << 9    //   add 512 * (b mod 3)
      | 8             //   add 8
    ) ** 2            //   square the result
    % 82              //   apply modulo 82
    % 3               //   apply modulo 3, leading to crazy(a % 3, b % 3)
    + 3 * f(          //   add 3 times the result of a recursive call with:
      a / 3,          //     a / 3  \__ no rounding required
      b / 3,          //     b / 3  /   (see 'Function choice')
      k - 1           //     k - 1
    )                 //   end of recursive call

আমার মনে হয় (1581093>>b%3*2+a%3*8&3)পুরো বাট বাঁচায়!
নিল

@ নীল দুর্ভাগ্যক্রমে, আমি পাস করছি a/3এবং b/3গোল না করে without যে কারণে ব্যর্থ হবে।
আর্নল্ড

9
আকর্ষণীয় আপনি কীভাবে এমন একটি প্যাটার্ন খুঁজে পেয়েছেন যা বিদ্যমান নেই।
এরিক আউটগল্ফার

পছন্দ k = 9 ... => ~k && ...করার কোনও কারণ আছে কি k = 10 ... => k && ...?
ফ্যালকো

1
@ ফ্যালকো না, এটি কোনওভাবেই খাটো বা দক্ষ নয়। আমি কেবল 0-সূচিযুক্ত জিনিস পছন্দ করতাম, তাই আমি বরং for(k=9;k>=0;k--)তুলনা করতাম for(k=10;k>=1;k--)
আর্নল্ড

13

05 এ বি 1 ই , 18 বাইট

কোড:

3Tm+3Bø5+3m5(^3%3β

05AB1E এনকোডিং ব্যবহার করে । এটি অনলাইন চেষ্টা করুন!


অ্যালগরিদম ব্যাখ্যা

শূন্যের সাথে প্যাডযুক্ত সংখ্যাটি পেতে, আমাদের উভয় সংখ্যায় 59049 যুক্ত করতে হবে (কারণ ত্রিনিরিতে 59049 হচ্ছে 10000000000 )। আমরা একটি প্রযুক্তিগত Taiwan ছেড়ে হবে না 1 যেমন । আমরা দশকে দশমিক থেকে ত্রৈমাসিকে রূপান্তর করি এবং প্রতিটি জোড়কে প্রতিটি নিজস্ব নম্বর হিসাবে যোগদান করি।(1,1)0

উদাহরণস্বরূপ, ইনপুট 12345 এবং 54321 এর জন্য এগুলিতে ম্যাপ করা হয়:

12345101212210205432112202111220

যা যোগ করা পূর্ণসংখ্যার নিম্নলিখিত তালিকা দেয়:

11,2,12,20,12,21,21,11,2,22,0

এই পূর্ণসংখ্যাগুলিকে ওপিতে প্রদত্ত লুকিং টেবিলটি ম্যাপ করা দরকার। বর্তমানে আমরা যে সূত্রটি ব্যবহার করি সেগুলি এই সংখ্যাগুলিটিকে তাদের সম্পর্কিত ট্রিটগুলিতে ম্যাপ করে ( রাইটারো র্যাটারো বিন্দাগুলি ):01,100,

f(x)=((x+5)35) mod 3

যেখানে বিটওয়াইজ এক্সওর ফাংশনটি বোঝায় ।

অবশেষে যোগদানের পূর্ণসংখ্যার তালিকায় এই ফাংশনটি ম্যাপ করার পরে, আমরা এই ফলস্বরূপ তালিকাটিকে বেস 3 তে প্রতিনিধিত্ব করে এমন একটি সংখ্যা হিসাবে বিবেচনা করি এবং এটি বেস 3 থেকে দশমিক হিসাবে রূপান্তর করি।


কোড ব্যাখ্যা

3Tm+                  # Add 59049 to pad the ternary number with zeroes.
    3B                # Convert to base 3.
      ø               # Zip the list to get each joined integer.
       5+             # Add 5 to each element.
         3m           # Raise each element to the power of 3.
           5(^        # XOR each element with -5.
              3%      # Modulo each element with 3.
                3β    # Convert from base 3 to decimal.

পারি 3Tm+3Bø19sm74%3%3βgolfed হবে?
জোনাথন অ্যালান

@ জোনাথন অ্যালান ভাল লাগছে! তবে অন্য কোনও ধরণের কালো যাদু সূত্র ব্যবহার না করে এটিকে আর গল্ফ করা অসম্ভব বলে মনে হচ্ছে।
আদনান

11

আর , 64 62 বাইট

function(a,b,x=3^(9:0))30801%/%x[a%/%x%%3*3+b%/%x%%3+1]%%3%*%x

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

কিছু কালো যাদু গল্ফিং ট্রিকস এবং -২ বাইটের জন্য জ্যাডকে ধন্যবাদ !

30801, যখন 10-ট্রিট ত্রিনিয়ী পূর্ণসংখ্যায় রূপান্তরিত হয় 1120020210, এটি কলামগুলি পড়ার পরে অপারেশন টেবিলটিতে কেবল একটি পিছনে শূন্য যুক্ত করে। তারপরে আমরা এর দশমিক অঙ্কগুলি aএবং bমৌলিক দিকটিকে একটি পূর্ণসংখ্যায় রূপান্তর করি এবং সেইটিকে ত্রৈমাসিক সংখ্যায় সূচক হিসাবে ব্যবহার করি 30801


1
অপারেটর অগ্রাধিকারের জন্য 62 বাইট ইয়ে!
জেএডি

1
হ্যাঁ, এইভাবে, আপনি প্রথম xব্যবহার করে সূচক [.*]। তারপরে সমস্ত %any%অপারেশন হয়। মজার অংশটি হ'ল আপনি যদি এটি 30801%/%x%%3হিসাবে দেখতে পান তবে f=function(x)30801%/%x%%3তা f(x[index]) == (f(x))[index]। বন্ধনীগুলি সংরক্ষণ করে :)
জেএডি

@ জাদে আকর্ষণীয়! এবং আমি উপরে মন্তব্য হিসাবে, মূলত কালো যাদু।
জিউসেপে

1
আমি আনন্দের সাথে স্বীকার করব যে এতে প্রচুর পরিমাণে ঝাঁকুনি লেগেছে: পি
জেডি

10

সি (জিসিসি) , 74 72 71 বাইট

f(a,b,i,r){for(r=0,i=59049;i/=3;)r+=(108609>>a/i%3*2+b/i%3*6&3)*i;i=r;}

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

ভাঙ্গন

সত্য টেবিল

           a
op(a,b)  0 1 2
       +-------
     0 | 1 0 0
   b 1 | 1 0 2
     2 | 2 2 1

একটি 3x3 অ্যারে হিসাবে ভাবা যেতে পারে, যেখানে ক কলাম, এবং খ সারি। এটিকে এক-মাত্রিক তালিকায় রূপান্তর করা আমাদের 100102221 দেয় space এটি করার জন্য, আমরা অর্ডারটি ফ্লিপ করি এবং প্রতিটি ট্রিটকে 2-বিট সংখ্যায় রূপান্তর করি। এগুলিকে একসাথে আঠালো করুন এবং আমাদের কাছে বাইনারি সংখ্যা রয়েছে যা আমরা "সূচী" করতে পারি ডানদিকে সরিয়ে 2 * (b * 3 + a)এবং মাস্কিং করে:

 1 0 0 1 0 2 2 2 1
 1 2 2 2 0 1 0 0 1
011010100001000001

এরপরে, আমরা উপরের ঘৃণ্য হয়ে ওঠার অপারেশনের শক্তি ব্যবহার করে অভিব্যক্তিটি ম্যাসেজ করি।

3 ^ 9 = 19683 তাই এটি একটি ভাল লুপের সীমা। যেহেতু আমরা প্রতিবার কাউন্টারকে 3 দিয়ে গুণ করি, আমরা 2e4তার পরিবর্তে সীমাটি লিখতে পারি । এছাড়াও আমরা নিজের বিরূপ pow()বা অনুরূপ সংরক্ষণ করি ।

দ্বিতীয় চিন্তায়, আসুন 3 ^ 10 এ শুরু করুন এবং প্রাক-লুপ বিভাজন এবং পরীক্ষা দিয়ে নীচের দিকে কাজ করুন।



7

এপিএল (ডায়ালগ) , 41 25 বাইট

9 অ্যাডম ধন্যবাদ জানায় বাইট

3⊥(b6883)[3⊥⍉⎕⊤⍨3,b93]

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


বিপরীত ক্রমে ইনপুট নেয়, 25 বাইট:3⊥(b⊤6883)[3⊥⍉⎕⊤⍨3,b←9⍴3]
অ্যাডাম

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

6

জেলি ,  23  18 বাইট

-1 এরিক Outgolfer ধন্যবাদ (পুনরায় সাজান 3*⁵¤করার ⁵3*)

⁵3*+b3Zḅ3ị⁽½Ṡb3¤ḅ3

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

এটি অনলাইন চেষ্টা করুন! অথবা একটি পরীক্ষা-স্যুট দেখুন

⁹*%733%3এর চেয়ে লম্বা বাইট ị⁽½Ṡb3¤:(

কিভাবে?

⁵3*+b3Zḅ3ị⁽½Ṡb3¤ḅ3 - Link: [a, b]      e.g. [11355,1131]
⁵                  - literal ten            10
 3                 - literal three          3
  *                - exponentiation         59049
   +               - addition (vectorises)  [70404,60180]
     3             - literal three          3
    b              - to base (vectorises)   [[1,0,1,2,0,1,2,0,1,2,0],[1,0,0,0,1,1,1,2,2,2,0]]
      Z            - transpose              [[1,1],[0,0],[1,0],[2,0],[0,1],[1,1],[2,1],[0,2],[1,2],[2,2],[0,0]]
        3          - literal three          3
       ḅ           - from base (vectorises) [4,0,3,6,1,4,7,2,5,8,0]
               ¤   - nilad followed by link(s) as a nilad:
          ⁽½Ṡ      -   literal 3706         3706
              3    -   literal three        3
             b     -   to base              [1,2,0,0,2,0,2,1]
         ị         - index into             [0,1,0,0,1,0,2,2,2,1,1]
                 3 - literal three          3
                ḅ  - from base              20650

এছাড়াও 18: ⁵3*+b3ZḌ19*%74%3ḅ3(বেস দশটি রূপান্তরিত করার পরে যুগল-ভিত্তিক ট্রিটগুলি পাওয়ার পরে 19 এটিকে পাওয়ার হিসাবে নিয়ে যাওয়ার পরে যাদু-সূত্র ব্যবহার করে, আউটপুটটির প্রয়োজনীয় ট্রিটগুলি পেতে মডুলো 74, মডিউল 3 - পাইথনের অনুসন্ধানে পাওয়া যায়)


18 বাইট (দ্রষ্টব্য: সত্যিই y 0অন্তর্নির্মিত "
প্রিপেন্ড

উঘ আমি ভেবেছিলাম যে বিশ্রী লাগছিল। ধন্যবাদ!
জোনাথন অ্যালান

অনেকগুলি জিনিস বিশ্রী দেখায়, কখনও কখনও আপনাকে তাদের অভ্যস্ত হতে হবে। : পি
এরিক আউটগল্ফার


4

জে , 37 বাইট

((3 3$d 30801){~{@,.)&.(d=.(10$3)&#:)

ব্যাখ্যা:

((3 3$d 30801){~{@,.)&.(d=.(10$3)&#:)   
                       (d=.(10$3)&#:)   convert to 10 trits, and name this function as d
                     &.                 ... which is done on both args and inverted on the result
                {@,.                    make boxed indices: 1 2 3 4 {@,. 5 6 7 8  ->  1 5 ; 2 6 ; 3 7 ; 4 8
              {~                        index out of a lookup table
 (3 3$d 30801)                          reusing the trits conversion function to make the table

তুলনামূলকভাবে পঠনযোগ্য, টিবিএইচ হয়ে শেষ হয়েছে।


পিপিসিজিতে আপনাকে স্বাগতম! এখানে একটি পরীক্ষার স্যুট রয়েছে - আমি গ্যালেন ইভানভের উত্তর থেকে মোড়কের কোডটি চুরি করেছি।
জোনাথন অ্যালান

ওয়েলকমকে পিপিসি! চমৎকার সমাধান! এটির একটি টিআইও লিঙ্ক এখানে
গ্যালেন ইভানভ



পছন্দ করুন
জোনাহ


3

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

I↨³⮌⭆χ§200211⁺∨﹪÷θX³ι³¦⁴﹪÷ηX³ι³

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

     χ                          Predefined variable 10
    ⭆                           Map over implicit range and join
                    ι        ι  Current index
                  X³       X³   Power of 3
                 θ              Input `a`
                          η     Input `b`
                ÷        ÷      Integer divide
               ﹪     ³  ﹪     ³ Modulo by 3
              ∨       ¦⁴        Replace zero ternary digit of `a` with 4
             ⁺                  Add
      §200211                   Index into literal string `200211`
   ⮌                            Reverse
 ↨³                             Convert from base 3
I                               Cast to string
                                Implicitly print

বিকল্প সমাধান, এছাড়াও 31 বাইট:

I↨³E↨⁺X³χ賧200211⁺∨ι⁴§↨⁺X³χη³κ

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

        χ                  χ    Predefined variable 10
      X³                 X³     Power of 3 i.e. 59049
         θ                      Input `a`
                            η   Input `b`
     ⁺                  ⁺       Sum
    ↨     ³            ↨     ³  Convert to base 3
   E                            Map over elements
                    ι           Current ternary digit of `a`
                   ∨ ⁴          Replace zero with 4
                      §       κ Index into ternary digits of `b`
                  ⁺             Add
           §200211              Index into literal string `200211`
 ↨³                             Convert from base 3
I                               Cast to string
                                Implicitly print

2

রুবি , 70 বাইট

->a,b,l=10{l>0?6883.digits(3)[8-b%3*3-a%3]*3**(10-l)+f[a/3,b/3,l-1]:0}

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

আমরা প্রতিটিটির দশটি অঙ্ক না পাওয়া পর্যন্ত পচন aএবং bপুনরাবৃত্ত হয়ে যায়। 6883সমতল ত্রৈমাসিক টেবিল দেয় (বিপরীত)। গুণমান দ্বারা ত্রৈমাসিক থেকে দশমিক পর্যন্ত পুনর্গঠন করে 3**(10-l)



2

জে , 43 বাইট

3#.((3 3$t 6883){~<@,~"0)&(_10{.t=.3&#.inv)

এটি অবশ্যই আরও গল্ফ করা যেতে পারে।

ব্যাখ্যা:

                         &(               ) - for both arguments
                                t=.3&#.inv  - convert to base 3 (and name the verb t)
                           _10{.            - pad left with zeroes
   (              <@,~"0)                   - box the zipped pairs (for indexing)
    (3 3$t 6883)                            - the lookup table
                {~                          - use the pairs as indeces in the table
3#.                                         - back to decimal  

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



2

পাইথ 26 25 24 বাইট

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

@ জোনাথন অ্যালান এর উত্তরে অনুপ্রাণিত হয়ে অন্য একটি বাইট সংরক্ষণ করুন

im@j3422 3id3Cm.[0Tjd3Q3

ইনপুট একটি 2 উপাদান তালিকা [a,b]। এটি এখানে অনলাইনে চেষ্টা করুন , বা সমস্ত পরীক্ষার কেস এখানে যাচাই করুন

im@j3422 3id3Cm.[0Tjd3Q3   Implicit: Q=eval(input())
              m       Q    Map each element d of the input using:
                   jd3       Convert to base 3
               .[0T          Pad to length 10 with 0's
             C             Transpose
 m                         Map each element d of the above using:
   j3422 3                   The lookup table [1,1,2,0,0,2,0,2]
  @                          Modular index into the above using
          id3                Convert d to base 10 from base 3
i                      3   Convert to base 10 from base 3, implicit print

.Tহতে পারে C
এরিক আউটগল্ফার 15


1

জাপট , 24 23 বাইট

মাসের ভাষা হিসাবে জ্যাপের রানে বলটি ঘূর্ণায়মান হওয়া - আমি পুরোপুরি প্রত্যাশা করছি যে এটি এটার চেয়ে বেশি বেড়ে যাবে!

একটি পূর্ণসংখ্যার অ্যারের হিসাবে বিপরীত ক্রমে ইনপুট নেয় (যেমন, [b,a])।

ms3 ùTA y_n3 g6883ì3Ãì3

চেষ্টা করে দেখুন

ms3 ùTA y_n3 g6883ì3Ãì3      :Implicit input of array U=[b,a]
m                            :Map
 s3                          :  Convert to base-3 string
    ù                        :Left pad each
     T                       :  With zero
      A                      :  To length 10
        y                    :Transpose
         _                   :Map
          n3                 :  Convert from base-3 string to decimal
             g               :  Index into
              6883ì3         :    6883 converted to a base-3 digit array
                    Ã        :End map
                     ì3      :Convert from base-3 digit array to decimal


0

ওল্ফ্রাম ভাষা (গণিত) , 75 72 60 বাইট

(d=IntegerDigits)[6883,3][[{1,3}.d[#,3,10]+1]]~FromDigits~3&

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

আন-গল্ফ করা সংস্করণ:

M[{a_, b_}] := 
  FromDigits[{1, 0, 0, 1, 0, 2, 2, 2, 1}[[
    IntegerDigits[a, 3, 10] + 3*IntegerDigits[b, 3, 10] + 1
  ]], 3];

উভয় aএবং bদশ trit তালিকা, তারপর সংখ্যার একটি লুকআপ টেবিল মধ্যে একটি 2D সূচক হিসেবে ব্যবহার pairwise রূপান্তরিত হয় {1, 0, 0, 1, 0, 2, 2, 2, 1}। ফলাফলটি আবার দশ-ত্রি তালিকা হিসাবে ব্যাখ্যা করা হয় এবং পূর্বে পূর্ণসংখ্যার আকারে রূপান্তরিত হয়।

দেখার টেবিলটি কোড করা হয়েছে IntegerDigits[6883,3], যা সংক্ষিপ্ত কারণ আমরা IntegerDigitsপ্রতীকটি পুনর্ব্যবহার করছি ।

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