সিমুলেট বিধি 110


27

বিধি 110 কিছু আকর্ষণীয় বৈশিষ্ট্য সহ একটি সেলুলার অটোমেটন। আপনার লক্ষ্যটি হ'ল যতটা সম্ভব অক্ষরের 110 টি নিয়ম অনুকরণ করা।

যারা জানেন না তাদের জন্য, নিয়ম ১১০ একটি গ্রিডে রেখা দ্বারা রেখাঙ্কিত করা হয়। গ্রিডের একটি লাইনের প্রতিটি বর্গক্ষেত্রটি কোন কোষটি হওয়া উচিত তা নির্ধারণ করতে উপরের, বাম এবং উপরে-বাম দিকে স্কোয়ারগুলি দেখে।

current pattern  111 110 101 100 011 010 001 000
new cell          0   1   1   0   1   1   1   0

ইনপুট: যে কোনও যুক্তিসঙ্গত ফর্ম্যাটে (কমা-বিভাজিত স্ট্রিং, তালিকা, ফাংশন আর্গুমেন্ট) শীর্ষ সারির এনথ ইনপুট বর্গের প্রতিনিধিত্ব করে 0 থেকে 39 অবধি numbers 1-ইনডেক্সড ভাষাগুলির সংস্থান করতে, সংখ্যাগুলি 1-ইনডেক্সেডও হতে পারে এবং তাই 1 থেকে 40 এর মধ্যে রয়েছে।

উদাহরণ ইনপুট:

38,39

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

উদাহরণ আউটপুট:

                                  XX
                                 XXX
                                XX X
                               XXXXX
                              XX   X
                             XXX  XX
                            XX X XXX
                           XXXXXXX X
                          XX     XXX
                         XXX    XX X
                        XX X   XXXXX
                       XXXXX  XX   X
                      XX   X XXX  XX
                     XXX  XXXX X XXX

প্রভৃতি

দ্রষ্টব্য: 1 ডি সেলুলার অটোমাটা সম্পর্কে অনুরূপ প্রশ্ন ইতিমধ্যে জিজ্ঞাসা করা হয়েছে, তবে আমি আশা করি যে, কেবলমাত্র একটি নিয়ম ব্যবহার করে সংক্ষিপ্ত উত্তর লেখা যেতে পারে।


4
নিদর্শনগুলি প্রায় মোড়ানো হয় (যেমন বাম-সর্বাধিক কক্ষটি কি তার উপরের লাইনে ডান-সর্বাধিক ঘরটি পরীক্ষা করে)?
ভেন্টোরো

4
যদি একবচন, তারপর এটা একটি সেলুলার যন্ত্রমানব
ClickRick

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

1
@ Ventero তারা এই সংস্করণে নেই।
qwr

1
@ বিএমও এটি একটি পুরানো প্রশ্ন, তবে যেহেতু আজকাল conক্যমত্য হ'ল নমনীয় ইনপুট ফর্ম্যাটগুলিকে অনুমতি দেবে, তাই আমি এটিকে অনুমতি দেওয়ার জন্য প্রশ্নটি পরিবর্তন করব
qwr

উত্তর:


8

সিজেম - 47

S40*l',/{i'!t}/{N40,S3$S++f{>3<2b137Yb='!^}}39*

এটি !"1" কোষের জন্য ব্যবহার করে।

এটি http://cjam.aditsu.net/ এ চেষ্টা করুন

ব্যাখ্যা:

S40*40 স্পেসের একটি স্ট্রিং (অ্যারে) তৈরি করে
l',/একটি লাইন পড়ে এবং কমা দ্বারা বিভক্ত হয়
{…}/প্রতিটি আইটেমের জন্য ব্লকটি নির্বাহ করে (স্ট্রিং ফর্মের সংখ্যাগুলি)
- i'!tসংখ্যাটিকে পূর্ণসংখ্যায় রূপান্তর করে এবং পূর্ববর্তী স্ট্রিংয়ে আইটেমটি সেই অবস্থানে সেট করে (প্রাথমিকভাবে 40 স্পেসে) ) থেকে '!'
এই মুহুর্তে আমরা প্রথম লাইনটি পেয়েছি।
{…}39*39 বার ব্লকটি কার্যকর করে
- Nএকটি নতুন লাইন যুক্ত করে
- 40,অ্যারে তৈরি করে [0 1… 39]
- S3$S++আগের লাইনটি অনুলিপি করে (স্ট্যাকের 3 পজিশন) এবং প্রতিটি পাশের একটি জায়গা দিয়ে প্যাড করে
- f{…}0 থেকে প্রতিটি সংখ্যার জন্য ব্লকটি কার্যকর করে 39} এবং {প্যাডড লাইন to
- >3<বর্তমান সংখ্যা থেকে শুরু প্যাডড লাইন থেকে 3 আইটেমের এক টুকরা নেয়
- 2bবেস 2 থেকে রূপান্তর; আমরা কাটা আইটেমগুলি বেস -2 সংখ্যার নয়, তবে অক্ষরগুলি তাদের ASCII মানগুলিতে রূপান্তরিত হয় এবং '' মডেল 8 0 এবং 'হয়!' মোড 8 হ'ল
- 137Yb137 কে বেস 2 ( Y= 2) এ রূপান্তর করে , [1 0 0 0 1 0 0 1] প্রাপ্ত, যা ১১০ বিপরীত এবং অবহেলিত (৮ টি বিটের উপর)
- ='!^সংশ্লিষ্ট বেস -২ অঙ্কটি পায় ( অ্যারের চারপাশে মোড়ানো হয় তাই সূচকটি মডেল 8 এ নেওয়া হয়েছে) এবং এটি '' দিয়ে! চরিত্র, ফলে '!' 0 এর জন্য এবং '' এর জন্য 1


17

রুবি, 113 টি অক্ষর

c=[0]*41
eval"[#{gets}].map{|i|c[i]=1}"+'
c=(0..39).map{|x|putc" X"[u=c[x]]
110[4*c[x-1]+2*u+c[x+1]]}<<0;puts'*40

স্টিডিনে ইনপুট নেয়। একটি পৃথক নিয়ম ব্যবহার করতে, 110আপনি চেষ্টা করতে চান এমন কোনও নিয়মের সাথে কেবল সর্বশেষ লাইনে প্রতিস্থাপন করুন।

উদাহরণ:

$ ruby 110.rb <<< 38,39
                                      XX
                                     XXX
                                    XX X
                                   XXXXX
                                  XX   X
                                 XXX  XX
                                XX X XXX
                               XXXXXXX X
                              XX     XXX
                             XXX    XX X
                            XX X   XXXXX
                           XXXXX  XX   X
                          XX   X XXX  XX
                         XXX  XXXX X XXX
                        XX X XX  XXXXX X
                       XXXXXXXX XX   XXX
                      XX      XXXX  XX X
                     XXX     XX  X XXXXX
                    XX X    XXX XXXX   X
                   XXXXX   XX XXX  X  XX
                  XX   X  XXXXX X XX XXX
                 XXX  XX XX   XXXXXXXX X
                XX X XXXXXX  XX      XXX
               XXXXXXX    X XXX     XX X
              XX     X   XXXX X    XXXXX
             XXX    XX  XX  XXX   XX   X
            XX X   XXX XXX XX X  XXX  XX
           XXXXX  XX XXX XXXXXX XX X XXX
          XX   X XXXXX XXX    XXXXXXXX X
         XXX  XXXX   XXX X   XX      XXX
        XX X XX  X  XX XXX  XXX     XX X
       XXXXXXXX XX XXXXX X XX X    XXXXX
      XX      XXXXXX   XXXXXXXX   XX   X
     XXX     XX    X  XX      X  XXX  XX
    XX X    XXX   XX XXX     XX XX X XXX
   XXXXX   XX X  XXXXX X    XXXXXXXXXX X
  XX   X  XXXXX XX   XXX   XX        XXX
 XXX  XX XX   XXXX  XX X  XXX       XX X
XX X XXXXXX  XX  X XXXXX XX X      XXXXX
XXXXXX    X XXX XXXX   XXXXXX     XX   X

8

গণিত, 122 বাইট

f[a_]:=Riffle[CellularAutomaton[110,Array[If[MemberQ[ToExpression["{"<>a<>"}"],#-1],1,0]&,40],39]/.0->" "/.1->"X","
"]<>""

হ্যাঁ, আপনি অপব্যবহারের হিসাবে এই দেখতে পারে এই পলায়নের পথ , কিন্তু একটি) যে ঘুলঘুলি বেশ বিতর্কিত, খ) একটি সেলুলার যন্ত্রমানব প্রশ্ন দরকার , একটি ম্যাথামেটিকাল উত্তর (বিশেষ করে রুল 110) এবং গ) Ventero এর রুবি উত্তর যাহাই হউক না কেন খাটো প্রায় এক তাই আমি ডন ভাবেনি কোন ক্ষতি হয়েছে।

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

CellularAutomaton[110,initialGrid,39]

এটি পর্যায়ক্রমিক সীমানা শর্তগুলি ব্যবহার করে (সুতরাং গ্রিডটি প্রায় আবৃত হয়)।


8

পাইথন - 141

i=input()
o=range(40)
l=''.join(' X'[c in i]for c in o)
for r in o:print l;l=''.join('X '[l[c-1:c+2]in('XXX','   ','X  ','','  ')]for c in o)

যেমন চালান python 110.py <<< 38,39


3
['X',' ']'X '5 টি অক্ষর সংরক্ষণ করার জন্য পরিবর্তন করা যেতে পারে ।
ক্যালভিনের শখ 8

16
আমার প্রিয় ফলটি এখনo=range()
কিটিকার 2000

7

q, 67 62 58 বাইট

আশেপাশে কোনও মোড়ানো নয়:

{40{not(2 sv'flip 1 0 -1 xprev\:x)in 0 4 7}\@[40#0b;x;~:]}

পুরনো সংস্করণ

{40{not(flip(prev;::;next)@\:x)in 3 cut 111100000b}\@[40#0b;x;not]}
{40{not(flip 1 0 -1 xprev\:x)in 3 3#111100000b}\@[40#0b;x;~:]}

5

পাইথন, 186

def r(s,m=range(40)):
 s=[int(i in s)for i in m]
 for g in m:print''.join([' X'[i]for i in s]);s=[int(not''.join(map(str,s[i-1:i+2]if i else s[:2]))in'111 100 000 00'.split())for i in m]

শালীন তবে সম্ভবত অনুকূল নয়।

ইনপুট কীভাবে অর্জিত হয় তা আপনি নির্দিষ্ট করেননি তাই আমি সবেমাত্র একটি ফাংশন করেছি।

উদাহরণ ব্যবহার করুন:

দ ([38,39])

আউটপুট:

                                      XX
                                     XXX
                                    XX X
                                   XXXXX
                                  XX   X
                                 XXX  XX
                                XX X XXX
                               XXXXXXX X
                              XX     XXX
                             XXX    XX X
                            XX X   XXXXX
                           XXXXX  XX   X
                          XX   X XXX  XX
                         XXX  XXXX X XXX
                        XX X XX  XXXXX X
                       XXXXXXXX XX   XXX
                      XX      XXXX  XX X
                     XXX     XX  X XXXXX
                    XX X    XXX XXXX   X
                   XXXXX   XX XXX  X  XX
                  XX   X  XXXXX X XX XXX
                 XXX  XX XX   XXXXXXXX X
                XX X XXXXXX  XX      XXX
               XXXXXXX    X XXX     XX X
              XX     X   XXXX X    XXXXX
             XXX    XX  XX  XXX   XX   X
            XX X   XXX XXX XX X  XXX  XX
           XXXXX  XX XXX XXXXXX XX X XXX
          XX   X XXXXX XXX    XXXXXXXX X
         XXX  XXXX   XXX X   XX      XXX
        XX X XX  X  XX XXX  XXX     XX X
       XXXXXXXX XX XXXXX X XX X    XXXXX
      XX      XXXXXX   XXXXXXXX   XX   X
     XXX     XX    X  XX      X  XXX  XX
    XX X    XXX   XX XXX     XX XX X XXX
   XXXXX   XX X  XXXXX X    XXXXXXXXXX X
  XX   X  XXXXX XX   XXX   XX        XXX
 XXX  XX XX   XXXX  XX X  XXX       XX X
XX X XXXXXX  XX  X XXXXX XX X      XXXXX
XXXXXX    X XXX XXXX   XXXXXX     XX   X

আমি ইনপুট নির্দিষ্ট করেছিলাম: আপনার ক্ষেত্রে আপনাকে ইনপুট () ব্যবহার করতে হবে এবং মূল পোস্টে উল্লিখিত ইনপুটটি ফর্ম্যাট করতে হবে।
qwr

5

গণিত, 113 অক্ষর

আর একটি গণিত উত্তর ব্যবহার করে CellularAutomaton

Print@@" "["X"][[#]]&/@CellularAutomaton[110,SparseArray[#+1->1&/@ImportString[InputString[],"CSV"][[1]],40],39];

আকর্ষণীয়, কিভাবে " "["X"][[#]]&কাজ করে?
মার্টিন ইন্ডার

@ এম.বুয়েটনার " "["X"][[1]]হলেন "X"" "["X"][[0]]অর্থাৎ মাথা " "["X"]ফেরায় " "
আলেফাল্ফ

আচ্ছা বুঝলাম. সুতরাং এটি সাধারণত তালিকার জন্য একটি অক্ষর সংরক্ষণ করে। এটা সত্যিই চালাক। আমার ধারণা আপনি এটিকে কোডগলফ.স্ট্যাকেক্সেঞ্জার.কম
মার্টিন

4

সি - 178

এই কোডটি ম্যাট্রিক্সের প্রতিটি সারিটি সামঞ্জস্যপূর্ণ স্মৃতিতে সঞ্চয় করা হয় তার উপর নির্ভর করে। এছাড়াও, এটি প্রথম সারিতে মুদ্রণ করে না, তবে এটি পরবর্তী 40 টি মুদ্রণ করে, যেহেতু নিয়মগুলি কেবল একটি 40x40 গ্রিড নির্দিষ্ট করে।

কেবল পঠনযোগ্যতার জন্য সূচিত, বাইট গণনায় কেবলমাত্র প্রয়োজনীয় কোড অন্তর্ভুক্ত রয়েছে।

a[41][42],i,j,*t;
main(){
    while(scanf("%d,",&j)>0)
        a[i][j]=1;
    for(;i<40;i++,puts(""))
        for(j=0;++j<40;)
            t=&a[i][j],
            putchar((*(t+42)=1&(110>>(*(t+1)?1:0)+(*t?2:0)+(*(t-1)?4:0)))?88:32);
}

3

লুয়া - 351

গল্ফ করার জন্য আদর্শ ভাষা নয়।

s,n,t,u=arg[1],{},table.remove,table.insert
for i=1,40 do u(n,i,'.') end
for i in s:gmatch("%d+")do u(n,i,'x');t(n)end
function a(b) c="";for i=1,40 do c=c..b[i] end;print(c);return c end
for i=1,40 do z= n[40]..a(n)..n[1];for k=2,41 do y=string.sub(z,k-1,k+1);if y=="xxx"or y=="x.." or y=="..." then u(n,k-1,'.')else u(n,k-1,'x')end;t(n)end end

1
do u(n,i,'x')এটা ইচ্ছাকৃত, তাই না?
স্ট্যান স্ট্রাম


3

হাস্কেল , 135 131 130 বাইট

-1 বাইট ধন্যবাদ অর্জান জোহানসেনকে (পুনরায় সাজানো take 40)

ফ্রাউনফ্র্যাগের উত্তরের জন্য সম্পূর্ণ ভিন্ন পদ্ধতি কিন্তু একই দৈর্ঘ্য সম্পর্কে:

(a?b)r=mod(b+r+b*r+a*b*r)2
r x=0:(zipWith3(?)x=<<tail$tail x++[0])
f y=take 40$map(" o"!!)<$>iterate r[sum[1|elem i y]|i<-[0..40]]

1

ব্যাখ্যা

4101

f y=                               [sum[1|elem i y]|i<-[0..40]]

40

    take 40$              iterate r

01

            map(" o"!!)<$>

r110zipWith3(?)

r x=0:(zipWith3(?)x=<<tail$tail x++[0])

(?)অপারেটর সমাধান সবচেয়ে আকর্ষণীয় অংশ: পূর্বে আমি একটি বুলিয়ান একটি Karnaugh মানচিত্র দিয়ে তৈরি নিয়ম কিন্তু ব্যবহৃত পালাক্রমে আউট আছে একটি এমনকি আরও সংক্ষিপ্ত পথ:

(a?b)r=mod(b+r+b*r+a*b*r)2

1
take 40$আগে রেখে একটি বাইট সংরক্ষণ করুন map(" o"!!)<$>
janrjan Johansen

3

হুশ , 31 28 বাইট

হাহ, হাস্ক জিলিকে মারছে!

†!¨↑¨↑40¡ȯẊȯ!ḋ118ḋėΘ`:0M#ŀ40

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

ব্যাখ্যা এবং অবহেলিত

একটি ব্যাখ্যা যুক্ত করার আগে, আমাকে এইটিকে কিছুটা দুলিয়ে দেওয়া যাক .. প্রথমে বিভিন্ন রচনাগুলি সরান, সুস্পষ্ট বন্ধনী যুক্ত করুন এবং ¨↑¨স্ট্রিংটি সঙ্কুচিত করুন । এছাড়াও এর প্রতিস্থাপন করা যাক 40সঙ্গে 4একটি আরো ভালো পঠনযোগ্য ব্যাখ্যা জন্য:

†!"t "↑4¡(Ẋ(!ḋ118ḋė)Θ`:0)M#ŀ4  -- example input: [3]
                           ŀ4  -- lower range of 4: [0,1,2,3]
                         M     -- map over left argument
                          #    -- | count in list
                               -- : [0,0,0,1]
        ¡(              )      -- iterate the following indefinitely (example with [0,1,1,1])
                     `:0       -- | append 0: [0,1,1,1,0]
                    Θ          -- | prepend 0: [0,0,1,1,1,0]
          Ẋ(       )           -- | map over adjacent triples (example with  1 1 0
                  ė            -- | | create list: [1,1,0]
                 ḋ             -- | | convert from base-2: 6
                               -- | | convert 118 to base-2: [1,1,1,0,1,1,0]
                               -- | | 1-based index: 1
                               -- | : [1,1,0,1]
                               -- : [[0,0,0,1],[0,0,1,1],[0,1,1,1],[1,1,0,1],[1,1,1,1],[1,0,0,1],...]
      ↑4                       -- take 4: [[0,0,0,1],[0,0,1,1],[0,1,1,1],[1,1,0,1]]
†                              -- deep map the following (example with [1,1,0,1])
 !"t "                         -- | use each element to index into "t ": "tt t"
                               -- : ["   t","  tt"," ttt","tt t"]

2

জাভা, 321 টি অক্ষর

উদাহরণস্বরূপ, কমান্ড লাইন থেকে ইনপুট আর্গুমেন্ট হিসাবে পাস হয়েছিল java R 38,39

আমি আর কখনও অবহেলিত জাভা কোডটি লিখিনি :-)

class R{public static void main(String[]a) {
Integer s=40;boolean[]n,o=new boolean[s];
for(String x:a[0].split(","))o[s.valueOf(x)]=s>0;
for(Object b:o){n=o.clone();
for(int j=0;j<s;j++){
boolean l=j>1&&o[j-1],r=o[j],c=j+1<s&&o[j+1];
n[j]=!(l&c&r|l&!c&!r|!(l|c|r));
System.out.print((r?"X":" ")+(j>s-2?"\n":""));
}o=n;}}}

2

আপডেট: সঠিক আউটপুট উদাহরণ এখানে (40 টি লাইন 50 না দিয়ে): নীচে নতুন আউটপুট (ব্রেভিটির জন্য পূর্ববর্তীটি সরানো হয়েছে):

                                      xx
                                     xxx
                                    xx x
                                   xxxxx
                                  xx   x
                                 xxx  xx
                                xx x xxx
                               xxxxxxx x
                              xx     xxx
                             xxx    xx x
                            xx x   xxxxx
                           xxxxx  xx   x
                          xx   x xxx  xx
                         xxx  xxxx x xxx
                        xx x xx  xxxxx x
                       xxxxxxxx xx   xxx
                      xx      xxxx  xx x
                     xxx     xx  x xxxxx
                    xx x    xxx xxxx   x
                   xxxxx   xx xxx  x  xx
                  xx   x  xxxxx x xx xxx
                 xxx  xx xx   xxxxxxxx x
                xx x xxxxxx  xx      xxx
               xxxxxxx    x xxx     xx x
              xx     x   xxxx x    xxxxx
             xxx    xx  xx  xxx   xx   x
            xx x   xxx xxx xx x  xxx  xx
           xxxxx  xx xxx xxxxxx xx x xxx
          xx   x xxxxx xxx    xxxxxxxx x
         xxx  xxxx   xxx x   xx      xxx
        xx x xx  x  xx xxx  xxx     xx x
       xxxxxxxx xx xxxxx x xx x    xxxxx
      xx      xxxxxx   xxxxxxxx   xx   x
     xxx     xx    x  xx      x  xxx  xx
    xx x    xxx   xx xxx     xx xx x xxx
   xxxxx   xx x  xxxxx x    xxxxxxxxxx x
  xx   x  xxxxx xx   xxx   xx        xxx
 xxx  xx xx   xxxx  xx x  xxx       xx x
xx x xxxxxx  xx  x xxxxx xx x      xxxxx
xxxxxx    x xxx xxxx   xxxxxx     xx   x

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


আমার পিএইচপি সংস্করণ 408 টি অক্ষর:

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

<?php $a='38,39';$b='';$d=explode(',',$a);for($i=0;$i<40;++$i){$c=' ';
foreach($d as $k=>$v){if($v == $i){$c='x';}}$b.=$c;}echo $b."\n";
for($x=1;$x<41;++$x){$o='';for($i=1;$i<41;++$i){if(($i>1)AND(substr($b,$i-2,1)=='x')){
$l=1;}else{$l=0;}if((substr($b,$i-1,1))=='x'){$v=1;}else{$v=0;}if((substr($b,$i,1))=='x'){
$r=1;}else{$r=0;}if((($l+$v+$r)==2)OR(($v+$r)==1)){$o.='x';}else{$o.=' ';}}
echo $o."\n";$b=$o;}?>

আপনি এটি দেখতে এবং এটি এখানে চালাতে পারেন: http://codepad.org/3905T8i8

ইনপুটটি শুরুতে একটি ইনপুট স্ট্রিং $ a = '38, 39 'হিসাবে;

আউটপুট নিম্নরূপ:

xx removed as was too long originally - had 50 lines, not 40 xx

আশা করি এটা আপনার ভালো লেগেছে!!!

পিএস আমাকে কোডে কয়েকটি লাইন ব্রেক যোগ করতে হয়েছিল যাতে আপনি এটি সব দেখতে পেলেন এবং এটি কোনও স্ক্রোল বারের সাথে পৃষ্ঠা জুড়ে প্রসারিত না করে।


আপনার আউটপুটটিতে 50 টি লাইন রয়েছে
অদিতু

আহ, এ কারণ ছিল আমি শেষ হয়ে যাওয়ার পরে এটি নিয়ে খেলছিলাম এবং যা ঘটেছে তা দেখার জন্য। নিয়মগুলিকে সামান্য পরিবর্তন করা যেমন আকর্ষণীয়ভাবে প্রভাবিত করে। যাইহোক এটি এখন 40 এ পরিবর্তিত হয়েছে এবং এটি মিস করার জন্য দুঃখিত।
পল ড্রিউট

আপনি আউটপুটটিও পরিবর্তন করতে চাইতে পারেন: পি
অ্যাডিটসু

সঠিক ফলাফল সহ আউটপুট সংশোধন করে নতুন কোডপ্যাড লিঙ্ক যুক্ত করেছে। আবার আপনাকে ধন্যবাদ.
পল ড্রিউট

2

স্ট্যাক্স , 24 বাইট সিপি 437

╦♥µ╤u{£┬íQ<;▀ΦΣ╢╕╚äZ↕áû↑

চালান এবং অনলাইন ডিবাগ!

"1" কোষের জন্য সিপি 437 তে কোডপয়েন্ট 1 ব্যবহার করে।

এই ভাষার শক্তি দেখানোর জন্য দুর্দান্ত কেস।

ব্যাখ্যা

ব্যাখ্যা করার জন্য আনপ্যাক করা সংস্করণ (29 বাইট) ব্যবহার করে।

0]40X*,1&xDQ0]|S3B{:b^374:B@m
0]40X*                           Prepare a tape with 40 cells
      ,1&                        Assign 1 to the cells specified by the input
         xD                      Repeat the rest of the program 40 times
           Q                     Output current tape
            0]|S                 Prepend and append a 0 cell to it
                3B               All runs of length 3
                  {         m    Map each run with block
                   :b            Convert from binary
                     ^           Increment (call this value `n`)
                      374:B      The binary representation of 374
                                 [1,0,1,1,1,0,1,1,0]
                                 which is `01101110` reversed and prepended a 1
                           @     Element at 0-based index `n`

1

কে (এনএনজি / কে) , 44 35 বাইট

{"X "39{(2\145)@2/'3'1,x,1}\^x?!40}

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

{ } যুক্তি দিয়ে ফাংশন x

!40 0 থেকে 39 পর্যন্ত ইনটগুলির তালিকা

x?এতে তাদের সূচকগুলি সন্ধান করুন x, 0Nপাওয়া যায় না বলে ("পূর্ণসংখ্যা নাল") ব্যবহার করুন

^এর মধ্যে কোনটি নাল? এটি আমাদের ইনপুট দেয়, উপেক্ষিত

39{ }\ 39 বার প্রয়োগ করুন, একটি তালিকার মধ্যবর্তী ফলাফল সংগ্রহ করুন

1,x,1 1s (অবহেলিত 0s) দিয়ে তালিকাটি ঘিরে

3' একটানা আইটেমের ট্রিপস

2/' বাইনারি ডিকোড প্রতিটি

@ সূচক হিসাবে ব্যবহার করুন ...

2\145 বাইনারি এনকোড 145 (110 এর উপেক্ষিত বিট)

"X "পরিশেষে, স্ট্রিংয়ের সূচক হিসাবে 40x40 ম্যাট্রিক্স ব্যবহার করুন "X "( @এখানে অন্তর্নিহিত)


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