มด ASCII ของ Langton


22

วาดเส้นทางของมดแลงตัน

ลักษณะ

สี่เหลี่ยมบนเครื่องบินมีสีต่างกันไม่ว่าจะเป็นสีดำหรือสีขาว เราระบุหนึ่งตารางโดยพลการว่า "มด" มดสามารถเดินทางไปในทิศทางที่สำคัญทั้งสี่ในแต่ละขั้นตอน มดเคลื่อนไหวตามกฎด้านล่าง:

  • ที่สี่เหลี่ยมสีขาวเลี้ยวขวา 90 °พลิกสีของสี่เหลี่ยมเลื่อนไปข้างหน้าหนึ่งยูนิต
  • ที่สี่เหลี่ยมสีดำเลี้ยวซ้าย 90 °พลิกสีของสี่เหลี่ยมเลื่อนไปข้างหน้าหนึ่งยูนิต

ข้อมูลจำเพาะ

  • อินพุต: จำนวนเต็ม N ระหว่าง 0 ถึง 725 (รวม)
  • เอาต์พุต: ตาราง 17 คูณ 17 แสดงถึง "เส้นทาง" ของ ant ตามขั้นตอน N

กฎระเบียบ

  • มดเริ่มหันขวา (นาฬิกา 3 นาฬิกา)
  • มดเริ่มต้นที่กึ่งกลางของตาราง
  • ใช้_#@สำหรับสี่เหลี่ยมสีขาวสี่เหลี่ยมดำและมดตามลำดับ
  • ตอนแรกกริดนั้นเป็นสีขาวสนิท
  • คุณอาจสร้างโปรแกรมที่สมบูรณ์หรือฟังก์ชั่นในภาษาที่ตีความ
  • อินพุตโดย stdin หรืออาร์กิวเมนต์

ตัวอย่าง

อัปเดต:เอาต์พุตของ N = 450 ของเคสผิด

N = 0

_________________
_________________
_________________
_________________
_________________
_________________
_________________
_________________
________@________
_________________
_________________
_________________
_________________
_________________
_________________
_________________
_________________

N = 1

_________________
_________________
_________________
_________________
_________________
_________________
_________________
_________________
________#________
________@________
_________________
_________________
_________________
_________________
_________________
_________________
_________________

N = 450

_________________
_________________
___________##____
____##______##___
___#__##___##_#__
__###_#@#__#__#__
__#_#_#_#__#_#___
_____###___#_____
_____#___________
_____#__###______
___#_#_#__#_#_#__
__#__#_#____###__
__#_##__##___#___
___##______##____
____##___________
_________________
_________________

@ โจอี้: ใช่ "ทำโปรแกรมหรือฟังก์ชั่นให้เสร็จสมบูรณ์ป้อนข้อมูลโดยอาร์กิวเมนต์หรือ stdin", ฟรีสไตล์ :)
Eelvex

@Joey: ขออภัยหากยังไม่ชัดเจน: คุณอาจสร้างฟังก์ชั่นในภาษาที่ตีความหรือโปรแกรมที่สมบูรณ์ คุณอาจรับข้อมูลจาก stdin หรือระบุเป็นอาร์กิวเมนต์
Eelvex

@ โจอี้: โปรดทราบว่าในขั้นตอนที่ 1 มดจะเลี้ยวขวาก่อน (หันหน้าไปทางทิศเหนือ) จากนั้นก็ก้าวไปข้างหน้า คุณแน่ใจหรือไม่ว่ากำลังพิจารณาเรื่องนั้น
Eelvex

@ โจอี้: ใช่ฉันหมายถึงทิศใต้ที่ความคิดเห็นก่อนหน้าและคุณพูดถูกตัวอย่างสุดท้ายสำหรับ N: - / (อัปเดตส่วนตัวอย่างที่ต่างออกไป)
Eelvex

คำตอบ:


10

GolfScript - 67 ตัวอักษร

~17.'_'*n+*\153:|;{|/()[124^.2/6+:6.1&17*)\2&(*|+:|;]@++}*|/();'@'@

โซลูชัน Python ของ hallvabo นั้นคล้ายคลึงกันมากที่สุดดังนั้นฉันจะอธิบายความแตกต่างหลักเท่านั้น

บอร์ดถูกเก็บเป็นสตริงแทนที่จะเป็นอาร์เรย์ นี่คือเพื่อให้เราสามารถอัปเดตค่าบนกระดานโดยมีตัวอักษรน้อยลง (เนื่องจากสตริงมีลักษณะแบนเสมอ) และการทำให้เป็นรูปแบบเอาต์พุตที่ต้องการนั้นง่ายดาย

ตำแหน่งมดจะเพิ่มขึ้นตามสูตร((d&1)*17+1)*((d&2)-1)(เช่น.1&17*)\2&(*) โดยที่ d คือทิศทาง เราใช้ตัวแปร6เพื่อให้เราสามารถข้ามการเริ่มต้นได้


1
Awww ตอนนี้ฉันรู้สึกเหมือน GolfScript noob
aaaaaaaaaaaa

:6- ดังนั้นทันสมัย ฉันเกลียดการแก้จุดบกพร่องรหัสของคุณ :-)
John Dvorak

9

Ruby 1.9, 104 ตัวอักษร

f=->z{l=[*[r=1]*17,2]*17;c=152;z.times{c+=r=(r*r>1?r/18:-r*18)*l[c]*=-1};l[c]=0;l.map{|a|putc"@_
#"[a]}}

อินพุตผ่านอาร์กิวเมนต์ของฟังก์ชัน

  • (146 -> 142) Inlined m
  • (142 -> 140) ตรวจสอบr*r>1แทนr.abs>1
  • (142 -> 128) ใช้String#scanเพื่อสร้างเอาต์พุต การเปลี่ยนแปลง==ไป>
  • (128 -> 125) ลบตัวแปรที่ล้าสมัยแล้ว
  • (125 -> 122) แทนที่String#trด้วยเงื่อนไข
  • (122 -> 122) ตอนนี้สร้างเอาต์พุตเดียวกันกับตัวอย่างที่อัพเดต
  • (122 -> 111) ใช้ ints แทนการใช้ตัวอักษรเมื่อสร้างเส้นทางของมด
  • (111 -> 109) จัดลำดับนิพจน์ใหม่เพื่อบันทึกวงเล็บ
  • (109 -> 108) ตอนนี้โค้ดเป็นฟังก์ชั่น
  • (108 -> 104) พิมพ์ตัวละครทุกตัวทีละตัว

ฟังก์ชั่นที่ได้รับอนุญาต
Eelvex

@Elex: ฟังก์ชันต้องส่งคืนสตริงหรือไม่หรือต้องส่งออกมา
Ventero

เอาท์พุต
Eelvex

6

Python 123

n = อินพุท ()
d = x = 152
g = (17 * [95] + [10]) * 17
ในขณะที่ n: d + = g [x] / 2; g [x] ^ = 124; x + = (1, -18, -1,18) [d% 4]; n- = 1
กรัม [x] = 64
พิมพ์ "c%" * 306% tuple (g)

เพียง reworking เล็กน้อยของการแก้ปัญหาหลามของฉันจากhttp://golf.shinh.org/p.rb?Langtons+Ant


5

GolfScript 96 94 89

ภาษาที่ฉันชอบที่สุดคือกลับมาพร้อมกับ sorta-bytecode กึ่งอ่านง่ายอีกกลุ่ม

ในที่สุดเวอร์ชัน 89 ฉันก็สามารถรวม @ เข้ากับเอาท์พุตลูปได้

~289[0:c]*145:b;{.b>\b<)!..c++(4%:c[1 17-1-17]=b+:b;@++}@*{{(b(:b!.++'_#@@'1/=\}17*n\}17*

รุ่น 94:

~306[0:c]*152:b;{.b<\b>(!..c++(4%:c[1 18-1-18]=b+:b;\++}@*{{('_#'1/=\}17*(;n\}17*].b<\b>(;'@'\

แสดงความคิดเห็น:

               #Initialization.
~                  #Parse input.
306[0:c]*          #Make array of 306 0s, set c to 0 in the middle of that operation.
152:b;             #Set b to 152, remove 152 from the stack.
                   #b is a value for the ant's position, c for its rotation.

               #Run the algorithm.
{                  #Start of block.
    .b<\b>(        #Split the array at index b into before, after and value at b.
    !..            #Not the value and make 2 copies of it.
    c++            #Add the 2 copies to c.
    (4%:c          #Subtract 1, modulus by 4 and save the result to c.
    [1 18-1-18]=   #Define an array and take element number c.
    b+:b;          #Add b to the value, save result to b, remove result from stack.
    \++            #Reform the array.
}@*                #Switch the input to the top of the stack and run the block input times.

               #Convert array of 1s and 0s to the correct characters.
{                  #Start of block.
    {              #Start of block.
        ('_#'1/=   #Take the first array element, convert it to either '_' or '#'.
        \          #Switch the array to the top of the stack.
    }17*           #Execute block 17 times.
    (;n\           #Discard the 18th element of the line, write a lineshift.
}17*               #Execute block 17 times.

               #Insert the @.
]                  #Put everything in an array.
.b<\b>(            #Split the array at index b into before, after and value at b.
;'@'\              #Ditch the value at b, write a @ and shift it into place.

แก้ไขฉันอาจทำรุ่นใหญ่เช่นกันการทำซ้ำ 59 * 59 และ 10500:

~59:a.*[0:c]*1741:b;{.b>\b<)!..c++(4%:c[1 a-1-59]=b+:b;@++}@*{{(b(:b!.++'_#@@'1/=\}a*n\}a*

.

___________________________________________________________
___________________________________________________________
_________________________##__##____________________________
________________________#__@_###___________________________
_______________________###__#_#_#__________________________
_______________________#####_#__##_________________________
________________________#___##_##_#________________________
_________________________###___#__##_______________________
__________________________#___##_##_#______________________
___________________________###___#__##_____________________
____________________________#___##_##_#__##________________
_____________________________###___#__##__##_______________
______________________________#___##_##__##___#____________
________________________####___###___#___#__###____________
_______________________#____#___#___##_####___#____________
______________________###____#___#_#______#_##_#___________
______________________###____#_##_____#_##__#_##___________
_______________________#____#___##_#_#_____##______________
_______________________#_#______#_#####__#___#_____________
______________________#___#####__________##_######_________
______________________###__##__#_##_#_#_#___##_#_##________
____________________##__#_#######_#___#__###____##_#_______
___________________#__#__######_##___#__#_##___#___#_______
__________________#____#_#_##_#__######_#######___#________
__________________#_####_##_#_####____##__##_#_##_#________
___________________#____####___#__#_######_##____###_______
______________________#___#_##_#_###_#__##__##___###_______
_________________________#######____#__##_##_#_____#_______
_________________####__##_##__####_##_##_##__#_____#_______
________________#____#_#___###_##_###____#_####____#_______
_______________###_______###_#_#_#####____#_#______#_______
_______________#_#___###_####_##_#___##_###_##_____#_______
_____________________##_##__####____####_#_#_#_____#_______
________________#____#__##___###__###_____###______#_______
________________##___##_###_####__#______###___##__#_______
________________##_#_####_____#___#__#_##_###_##___#_______
_______________####_##___##_####__#_#__#__#__###___#_______
_______________#_##_###__#_#_##_#_#_____#_#_____#_#________
___________________#_#__#____##_##__#_#__###_##____________
___________________##_#____#__#####_#____#____#__#_#_______
__________________#_##_#__#____##_##_#__###______###_______
________________#_#___#__#__#__#__###___##__##____#________
_______________###_#_#####_######_###_#######_#_##_________
_______________#_#_#____#####___##__#####_#####____________
_________________#__##___#______#__#_##__###_###___________
______________####___#####_#########___#_#_________________
_________##____#__#_____###_#_#___#_###__###_______________
________#__#__####_##___###_##___###_##_____##_____________
_______###____#_##_#_#####___#____#__#__##_###_____________
_______#_#####_#_#___##__##_____#____#___#__#______________
___________######_####__##_#___#__##__#_#_##_______________
_________##______#_###_##__####___#___###__________________
__________#__#_#####__#___#_##___#__#__#___________________
__________##_###_#######_____#_____#_##____________________
_________#_#__##_##______#___##____#_______________________
________#__#_####________###__##__#________________________
________#_##_###____________##__##_________________________
_________##________________________________________________
__________##_______________________________________________


4

PHP, 350 309 307 312 174 161 166 159 151 149 147 144 143

<?$p=144;while($i=$argv[1]--){$g[$p]=$a=2-$g[$p];$d+=--$a;$p+=(1-($d&2))*(1+16*($d&1));}while($i++<288)echo$i%17?$i!=$p?$g[$i]?"#": _:"@":"\n";

Ungolfed

$p = 144; // Set initial pointer

while($i = $argv[1]--){ // Ends at -1
    $g[$p] = $a = 2 - $g[$p]; // Either returns true (2) or false(0)

    $d += --$a; // Adds 1 (2-1) or removes 1 (0-1) from the direction

    $p += (1 - ($d & 2)) * (1 + 16 * ($d & 1));
}

while($i++ < 288)
    echo $i % 17? $i != $p? $g[$i]? "#" : @_ : "@" : "\n"; // Prints the correct character

350 -> 309:เทคนิคการบีบอัดต่างๆที่มีลูป for () ได้รับการปรับปรุงเพื่อแสดงเอาต์พุตที่ถูกต้อง
309 -> 307:แปลง main สำหรับ () loop ไปเป็น while ()
307 -> 312:ลืมเปลี่ยนเป็นใช้ argv
312 -> 174: บันทึกใหม่ตามคำตอบอื่น
174 -> 161:ไม่มีค่าเริ่มต้นของทั้งอาร์เรย์อีกต่อไป
161 -> 166: Argv ชนะอีกครั้ง
166 -> 159:ไม่จำเป็นต้องกำหนด argv ใหม่ [1]
159 -> 151:ไม่มีค่าเริ่มต้นใด ๆ อีกต่อไป PHP จะดำเนินการโดยอัตโนมัติ
151 -> 149:ลบวงเล็บชุดออกคำสั่งของการดำเนินการลบความต้องการ
149 -> 147:ย่อการวนครั้งสุดท้ายสำหรับ () การจัดฟันไม่จำเป็น
147 -> 144:Last for () loop เป็นวนหนึ่งขณะ ()
144 -> 143:ใช้ตัวแปรชั่วคราวเพื่อบันทึกอักขระ


ฉันเห็นว่าคุณใช้เทคนิคกริดและทิศทางของฉันและมันลบ 138 chars จากโค้ดของคุณดีมาก!
PatrickvL

4

C, 166 162

ต่อไปนี้เป็นคำแปลของ Delphi-approach ของฉันเป็น C แสดงให้เห็นว่า C ขนาดกะทัดรัดสามารถทำได้อย่างไร ฉันยืมเคล็ดลับการขึ้นบรรทัดใหม่แบบมีเงื่อนไขจาก fR0DDY (ขอบคุณเพื่อน!):

g[289]={0},a=144,d,i,N;main(){scanf("%d",&N);while(N--)g[a]=2-g[a],d+=g[a]-1,a+=(1-(d&2))*(1+d%2*16);for(g[a]=1;i<289;)printf("%s%c",i++%17?"":"\n","_@#"[g[i]]);}

เวอร์ชันที่เยื้องและแสดงความคิดเห็นมีลักษณะดังนี้:

g[289]={0}, // g: The grid is initially completely white. (size=17*17=289)
a=144, // a: Ant position starts at the center of the grid (=8*17+8=144)
d, // Assume 0=d: Ant start 'd'irection faces right (=0, see below)
i,
N;
main(){
  scanf("%d",&N);
  while(N--)
    // Flip the color of the square:
    g[a]=2-g[a],
    // Turn 90° right if at an '_' space, 90° left otherwise :
    d+=g[a]-1,
    // Move one unit forward;
    //   For this, determine the step size, using the two least significant bits of d.
    //   This gives the following relation :
    //     00 = 0 =  90° = right =   1
    //     01 = 1 = 180° = down  =  17
    //     10 = 2 = 270° = left  = - 1
    //     11 = 3 =   0° = up    = -17
    //   (d and 2) gives 0 or 2, translate that to 1 or -1
    //   (d and 1) gives 0 or 1, translate that to 1 or 17
    //   Multiply the two to get an offset 1, 17, -1 or -17 :
    a+=(1-(d&2))*(1+d%2*16);
  // Place the ant and print the grid :
  for(g[a]=1;i<289;)
    printf("%s%c",i++%17?"":"\n","_@#"[g[i]]); // 0 > '_', 1='@', 2 > '#'
}

+1 ฉันชอบเทคนิค"_@#"[g[i]]และa+=(1-(d&2))*(1+(16*(d&1)))
fR0DDY

(1+d%2*16)บันทึกสองสามตัวอักษร
Nabb

@Nabb: แน่นอนว่าจะช่วยตัวละคร 4 ตัวขอบคุณสำหรับคำแนะนำ!
PatrickvL

4

Delphi, 217

var g,a:PByte;i,d,Word;begin g:=AllocMem(306);a:=g+153;Read(i);for n:=1to i do begin a^:=2-a^;d:=d-1+a^;a:=a+(1-2and d)*(1+17*(1and d))end;a^:=1;for n:=1to 306do if n mod 18=0then WriteLn else Write('_@#'[1+g[n]])end.

รหัสที่เยื้องและแสดงความคิดเห็นอ่านดังนี้:

var
  g,a:PByte;
  i,d,n:Int32;
begin
  g:=AllocMem(306); // g: The grid is initially completely white. (size=18*17=306)
  // Assume 0=d: Ant start 'd'irection faces right (=0, see below)
  a:=g+153; // a: Ant position starts at the center of the grid (=8*18+9=153)
  Read(i);
  for n:=1to i do
  begin
    // Flip the color of the square;
    a^:=2-a^;
    // Turn 90° right if at an '_' space, 90° left otherwise;
    d:=d-1+a^;
    // Move one unit forward;
    //   For this, determine the step size, using the two least significant bits of d.
    //   This gives the following relation :
    //     00 = 0 =  90° = right =   1
    //     01 = 1 = 180° = down  =  18
    //     10 = 2 = 270° = left  = - 1
    //     11 = 3 =   0° = up    = -18
    //   (d and 2) gives 0 or 2, translate that to 1 or -1
    //   (d and 1) gives 0 or 1, translate that to 1 or 18
    //   Multiply the two to get an offset 1, 18, -1 or -18 :
    a:=a+(1-2and d)*(1+17*(1and d))
  end;
  // Place the ant and print the grid :
  a^:=1; // 0 > '_', 1='@', 2 > '#'
  for i:=1to 306do
    if i mod 18=0then // we insert & abuse column 0 for newlines only (saves a begin+end pair)
      WriteLn
    else
      Write('_@#'[1+g[i]])
end.

การป้อนข้อมูล:

450

ผลผลิต:

_________________
_________________
___________##____
____##______##___
___#__##___##_#__
__###_#@#__#__#__
__#_#_#_#__#_#___
_____###___#_____
_____#___________
_____#__###______
___#_#_#__#_#_#__
__#__#_#____###__
__#_##__##___#___
___##______##____
____##___________
_________________
_________________

@ แพทริค: ตัวอย่างผิดโปรดตรวจสอบการอัปเดต (และดูเหมือนว่าคุณส่งออกขั้นตอน 451 :))
Eelvex

@ สิบสอง: ขอบคุณ ฉันได้แก้ไขกรณี 'N = 0' ที่ราคา 4 ตัวอักษร ... ตอนนี้ฉันต้องชนะพวกเขากลับมาอีกครั้ง! ;-)
PatrickvL

@Eevenx: PS: ไม่มี +1 สำหรับการระบุข้อผิดพลาดของคุณเมื่อ 3 ชั่วโมงก่อนโดยมีคำพูดที่อ่อนน้อมถ่อมตนเป็นความผิดของฉัน ;)
PatrickvL

@ แพทริก: ฉันรอ <200 แต่ก็โอเค ... :)
Eelvex

@Eevenx: ฮ่า ๆ ไปถึงที่นั่น ... (ลงไปที่ 238 แล้ว)
PatrickvL

3

C 195 ตัวละคร

x=144,T,p=1,i,N[289]={0},a[]={-17,1,17,-1};c(t){p=(p+t+4)%4;x+=a[p];}main(){scanf("%d",&T);while(T--)N[x]=(N[x]+1)%2,c(N[x]?1:-1);for(;i<289;i++)printf("%s%c",i%17?"":"\n",i-x?N[i]?'#':'_':'@');}

http://www.ideone.com/Dw3xW

ฉันได้รับสิ่งนี้สำหรับ 725

_________________
_________________
___________##____
____##______##___
___#___##__##_#__
__###____#_#__#__
__#_#_#__#_#_#___
______###____#__@
_______###__#__#_
_____#_#____#___#
___#_#_#_##____#_
__#__#_#_#_#_###_
__#_##_#_____####
___##_#____#_####
____###___####_#_
_______#__#__##__
________####_____

ใช้p+=t+4;x+=a[p%4];แทนการp=(p+t+4)%4;x+=a[p];บันทึกสามอักขระ
Joey

3

sed, 481 ตัวอักษร

#n
1{s/.*/_________________/;h;H;H;H;G;G;G;G;s/^\(.\{152\}\)_/\1@/;s/$/;r/;ta;};x;:a;/;r/br;/;d/bd;/;l/bl;/;u/bu;:w;y/rdlu/dlur/;bz;:b;y/rdlu/urdl/;bz;:r;s/@\(.\{17\}\)_/#\1@/;tw;s/@\(.\{17\}\)#/#\1!/;tw;s/_\(.\{17\}\)!/@\1_/;tb;s/#\(.\{17\}\)!/!\1_/;tb;:d;s/_@/@#/;tw;s/#@/!#/;tw;s/!_/_@/;tb;s/!#/_!/;tb;:l;s/_\(.\{17\}\)@/@\1#/;tw;s/#\(.\{17\}\)@/!\1#/;tw;s/!\(.\{17\}\)_/_\1@/;tb;s/!\(.\{17\}\)#/_\1!/;tb;:u;s/@_/#@/;tw;s/@#/#!/;tw;s/_!/@_/;tb;s/#!/!_/;tb;:z;h;${s/!/@/;s/;.//p}

อาจลดลงเหลือ 478 ตัวอักษรโดยการลบบรรทัดแรกและรันด้วย -n

ต้องมีบรรทัด N สำหรับอินพุตเช่น เมื่อทำงานเป็น

seq 450 | sed -f ant.sed

เอาท์พุท:

_________________
_________________
___________##____
____##______##___
___#__##___##_#__
__###_#@#__#__#__
__#_#_#_#__#_#___
_____###___#_____
_____#___________
_____#__###______
___#_#_#__#_#_#__
__#__#_#____###__
__#_##__##___#___
___##______##____
____##___________
_________________
_________________

3

Perl, 110 ตัวอักษร

$p=144;$p+=(1,-17,-1,17)[($d+=($f[$p]^=2)+1)%4]for 1..<>;$f[$p]=1;print$_%17?'':$/,qw(_ @ #)[$f[$_]]for 0..288

Number อ่านจากบรรทัดแรกของ STDIN อินพุตที่เหลือจะถูกละเว้น

อ่านง่ายขึ้นเล็กน้อย:

$p=144;
$p += (1,-17,-1,17)[($d+=($f[$p]^=2)+1) % 4] for 1..<>;
$f[$p]=1;
print $_%17 ? '' : $/, qw(_ @ #)[$f[$_]] for 0..288

การแก้ไข

  • (112 → 111)ไม่จำเป็นต้องอัปเดต$dด้วยค่า modulo-4

  • (111 → 110)ตอนนี้สามารถ$dเพิ่มแบบอินไลน์

ภาคผนวก (109 ตัวอักษร)

เราสามารถมีตัวละครตัวหนึ่งที่สั้นลงถ้าคุณกำลังมีความสุขที่จะมีกรณีพิเศษของN=0Fail (มันไม่ได้ส่งออก@ตัวอักษรสำหรับมด) อินพุตอื่นทั้งหมดทำงานอย่างถูกต้อง:

$p+=(1,-17,-1,17)[($d+=($f{$p+0}^=2)+1)%4]for 1..<>;$f{$p}=1;print$_%17-9?'':$/,qw(_ @ #)[$f{$_}]for-144..144

ความแตกต่างคือว่าตอนนี้เราใช้%fแทน@fดังนั้นเราจึงสามารถใช้ดัชนีเชิงลบและเราสำทับจากแทน-144..144 0..288มันจะช่วยประหยัดต้อง $pinitialise



1

> <>, 122 ไบต์

ฉันคิดว่าการเขียนคำตอบใน> <> เป็นความท้าทายที่น่าสนใจ ...

1&f8r\
1-:?!\r:@@:@$:@@:@g:2*1+&+4%:&}1$-@p{:3$-5gaa*-$@+@5gaa*-+r
2}p70\~
a7+=?\:@@:@g4+5go$1+:
o053.>~1+:64*=?;a
dedc_#@

โปรแกรมนี้คาดว่าจะมีจำนวนขั้นตอนในการคำนวณที่จะปรากฏบนสแต็กก่อนที่จะดำเนินการ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.