CodeGolf - Thủ trưởng hoặc Đuôi


26

Hướng dẫn

Đưa ra một chuỗi đầu vào không xác định ivới giá trị là đầu hoặc đuôi , trả về 1cho đầu hoặc -1cho đuôi có mã ngắn nhất.

Mẫu mã không được đánh gôn (55b):

if(i == "heads"){
    print(1);
}else{
    print(-1);
}

Mẫu mã golf (16b):

print("t">i||-1)


Javascript đã được sử dụng cho ví dụ nhưng nó không phải là một yêu cầu . Xin lỗi nếu nó quá đơn giản đối với hầu hết người dùng, nó có thể được cải thiện.


14
Chào mừng đến với PPCG! Điều này là quá đơn giản để là một thách thức thú vị. Trong tương lai, vui lòng xem xét việc đăng các thử thách lên Sandbox , nơi họ có thể nhận phản hồi trước khi đăng chúng trực tiếp.
Alex A.

1
6 câu trả lời, thực sự không phải là một thử thách tồi. Hãy thử lại
edc65

4
Ở 4 upvote và 5 downvote, câu hỏi của bạn không thực sự phổ biến; nó chỉ nhận được nhiều ý kiến ​​trái chiều Mặc dù nhiệm vụ trong tay là một chút cơ bản, nhưng nó được xác định rõ ràng và thu hút 7 câu trả lời cho đến nay có một số cách tiếp cận khác nhau. Không tệ cho lần thử đầu tiên.
Dennis

7
Bây giờ tôi rất bối rối, hôm qua -4, bây giờ là +4, điều này chắc chắn không phải là stackoverflow: P
Juan Cortés

10
Tôi đã chờ đợi một thử thách ngắn như thế này từ lâu, hầu hết các thử thách đều quá dài và phức tạp đối với một người mới như tôi.
Sean Latham

Câu trả lời:


11

CJam, 4 byte

I'e#

Giả sử rằng biến Igiữ đầu vào, vì ikhông phải là định danh hợp lệ trong CJam.

Hãy thử trực tuyến.

Điều này tương đương với mã JavaScript I.indexOf('e').


Có lẽ là vô địch cho thử thách này.
Alex A.

1
Xin lỗi tôi đã không hiểu đủ các yêu cầu và tự đánh lừa bản thân mình bằng câu hỏi này. Tôi sẽ quay lại và trốn ngay bây giờ
Juan Cortés

Tại sao bạn không bao gồm ptrong này? Có phải là tiêu chuẩn trong CJam không?
Tim

@Tim CJam luôn tự động in nội dung ngăn xếp tại chương trình.
Martin Ender

2
@Tim: Câu hỏi nói trả về 1 hoặc -1, vì vậy tôi giả sử để lại số trên ngăn xếp sẽ ổn. Tôi đã chỉnh sửa permalink để cho thấy rằng pkhông cần thiết.
Dennis

17

C, 18 byte

Khá dễ, nhưng hãy làm điều đó chỉ để giải trí ...

puts("-1"+*i/8%2);

Cho chuỗi char *inó in 1 cho headsvà -1 cho tails, với dòng mới.

Giải trình

Trong C, "-1" + 1trỏ tới 1 ký tự về phía trước, vì vậy nó giống như "1". Chúng ta hãy xem các nhân vật đầu tiên:

"heads"[0] = 'h' = 104 = 0b01101000
"tails"[0] = 't' = 116 = 0b01110100

Nếu chúng ta đếm các bit từ điểm ngoài cùng bên phải bắt đầu từ 0, bit 3 là 1 in headsvà 0 in tails: tính tổng của nó để "-1"đưa ra chuỗi đúng. Nó trông như thế này:

"-1" + ((i[0] >> 3) & 1)

Bây giờ, thay thế i[0]bằng *ivà dịch chuyển đúng bằng phân chia lũy thừa hai để lưu một số byte. Cũng loại bỏ dấu ngoặc đơn vô dụng:

"-1" + (*i / 8 & 1)

Bây giờ, & 1có thể được thay thế bằng % 2. Số lượng ký tự là như nhau, nhưng mô-đun có mức độ ưu tiên cao hơn, cho phép bỏ dấu ngoặc đơn. Xóa khoảng trắng:

"-1"+*i/8%2

Tiền thưởng

Tôi nghĩ cách ngắn nhất để lấy số nguyên 1 hoặc -1 (không phải chuỗi) trong C là:

18-*i/6

Giải trình:

'h' = 104
't' = 116

('h' + 't') / 2 = 110
110 - 'h' =  6
110 - 't' = -6

(110 - 'h') / 6 =  1
(110 - 't') / 6 = -1

Apply distributive property (integer division):
18 - 'h' / 6 =  1
18 - 't' / 6 = -1

1
Xinh đẹp, yêu nó
Juan Cortés

11

Ruby, 8 (6 không có đầu ra)

p ?t<=>i

Nhà điều hành tên lửa!


Rõ ràng là công cụ phù hợp cho công việc.
primo

9

PHP - 11 byte

<?=1-$i^=F;

Điều này hoạt động vì 'tails' ^ 'F''2''heads' ^ 'F''.', khi được nhập dưới dạng số nguyên 0.

Bạn có thể kiểm tra giải pháp này (hoặc bất kỳ cách nào dưới đây) theo cách sau:

<?php foreach(['heads', 'tails'] as $i): ?>
 <?=1-$i^=F;
endforeach; ?>

Liên kết Ideone


Lựa chọn thay thế

15 : <?=1-md5($i)%3;
16 : <?=md5($i)[5]-5;
16 :<?=-crc32($i)%5;


Với phiên bản ngắn, tôi luôn nhận được 1, quan tâm giải thích những gì nó làm với XOR?
Juan Cortés

@ JuanCortés Tôi đã thêm một lời giải thích và một liên kết đến Ideone.
Primo

2
Bây giờ đó là suy nghĩ bên ngoài hộp!
Dennis

6

TI-BASIC, 9-10 byte

cos(πʳinString(Ans,"t

Nói thẳng ra. "t" nằm ở vị trí 1 của "đuôi", nhưng "t" không nằm trong chuỗi "đầu", do đó, inString (trả về 1 cho đuôi và 0 cho đầu.

Nếu máy tính của bạn ở chế độ radian (như bất kỳ nhà toán học nào cũng vậy), thì chỉ mất chín byte:

cos(πinString(Ans,"t

Lưu ý rằng máy tính TI không có chuỗi được đặt tên, vì vậy đầu vào nằm trong biến trả lời của máy tính. Cũng lưu ý rằng các chữ cái viết thường là hai byte, vì vậy giải pháp này thực sự chiếm ít bộ nhớ hơn từ "đứng đầu".


Điều này thật tuyệt. Số byte của bạn bị tắt, mặc dù-- cos (, π và ký hiệu radian đều là một byte, vì vậy nó thực sự là 8-9 byte.
MI Wright

1
Các tinString(là mỗi hai byte.
lirtosiast

Ồ, tôi đã quên mất chữ thường là hai byte. Đừng bận tâm.
MI Wright

5

Phân hạch , 26 21 byte

O/';'1
"S@]_"-
R? <tL

Martin (và câu trả lời tuyệt vời của anh ấy ở đây ) đã thuyết phục tôi học một ngôn ngữ mới, và nơi nào tốt hơn một sân golf nhanh? Điều này gần như chắc chắn là không tối ưu, nhưng hey, nó rất vui! Một khi tôi cảm thấy tốt về nó, tôi có thể cung cấp một số hình thức giải thích nếu nó được yêu cầu.



4

Pyth - 4 byte


 xz"e

Chạy bằng đầu hoặc đuôi . Như iinttrong Pyth, sử dụng này zlà tên biến, trong đó có bất kỳ đầu vào người dùng. Nó tương đương với Python print(z.find("e")), vì vậy sử dụng phương thức của @ Dennis.


4

VBA (Excel), 12 byte

Không phải là một trò chơi golf tuyệt vời, nhưng thật vui khi thử với VBA để đến bất kỳ nơi nào gần với ngôn ngữ lập trình phù hợp ...

?13-asc(i)/6

i là chuỗi và nó chỉ khai thác giá trị ASCII của ký tự đầu tiên, chia cho 6 và trừ đi từ 13 để cho 1 hoặc -1. Rất đơn giản.

Ví dụ chạy trong cửa sổ ngay lập tức (thêm 10 byte để đặt biến đầu vào):

i="Heads":?13-asc(i)/6
 1

4

C, 22 byte

puts(*i>'h'?"-1":"1");

Tín dụng đến @TheE để cho tôi biết về điều này !

Giải trình:

Nếu ký tự đầu tiên của chuỗi lớn hơn 'h', chuỗi "-1"được in. Nếu không, chuỗi "1"được in. Lưu ý rằng phương pháp này đi kèm với một ký tự dòng mới.


Phiên bản cũ (25 byte):

printf("%d",*i>'h'?-1:1);

Giải trình:

Nếu ký tự đầu tiên của chuỗi lớn hơn 'h', -1 được in. Nếu không, 1 được in.


Tôi chỉ nói trước đây, sử dụng i làm kiểu char, định nghĩa thực tế sẽ vượt quá 1byte như lần trở lại này - (- 1) ** i / 16
Abr001am

@ Agawa001, nhưng trả về 6 cho hvà 7 cho t.
Spikatrix

oh tôi quên, tôi phải sử dụng sức mạnh: p
Abr001am

Thật không may là anh chàng C không có hoạt động số học như vậy nên bạn phải sử dụng -1 * pow (-1, * i / 16) khiến nó chờ lâu hơn, mặt khác, python và matlab sử dụng ** và ^
Abr001am

1
@CoolGuy sẽ sử dụng put puts(*i>'h'?"-1":"1");không được tốt hơn? (22 byte)
euanjt

4

Tr: 17 13 ký tự

(Hoặc 14 10 nếu bạn chỉ tính các đối số

tr -s ta-s -1

Chạy mẫu:

bash-4.3$ tr -s ta-s -1 <<< heads
1

bash-4.3$ tr -s ta-s -1 <<< tails
-1

Giải thích ngắn gọn:

tr là viết tắt của phiên âm, có nghĩa là, thay thế từng ký tự của đầu vào được tìm thấy trong đối số thứ nhất bằng ký tự ở cùng vị trí trong đối số thứ hai:

tr ta -1 <<< tails         # replaces t ⇢ -, a → 1
⇒ -1ils

Nếu đối số thứ nhất dài hơn, các ký tự không khớp vị trí trong đối số thứ hai sẽ được thay thế bằng ký tự cuối cùng của đối số thứ hai:

tr tals -1 <<< tails       # replaces t ⇢ -, a → 1, l → 1, s → 1
⇒ -1i11

Khi tùy chọn -s( --squeeze-repeats) được sử dụng, các ký tự liên tiếp sẽ được thay thế bằng cùng một ký tự được thay thế cùng một lúc:

tr -s tals -1 <<< tails    # replaces t ⇢ -, a → 1, l+s → 1
⇒ -1i1

Vì vậy, nếu chúng ta liệt kê tất cả các nhân vật trong Trò chơi đuôi đuôi, chúng ta sẽ có được thứ mình cần:

tr -s tails -1 <<< tails    # replaces t ⇢ -, a+i+l+s → 1
⇒ -1

Tương tự như vậy đối với những người đứng đầu của người Viking, nhưng tuần trước cần phải giữ những người đứng đầu trước để tiêu trừ điểm trừ (các ký tự được sắp xếp theo thứ tự abc cho creepiness):

tr -s taedhs -1 <<< heads   # replaces h+e+a+d+s → 1
⇒ 1

Hợp nhất tất cả các nhân vật cổ điển của những người hâm mộ và những người đứng đầu của họ trong một cuộc tranh cãi đầu tiên, giữ cho Típ trước mặt dẫn đến giải pháp cuối cùng:

tr -s tadehils -1 <<< tails # replaces t → -, a+i+l+s → 1
⇒ -1

tr -s tadehils -1 <<< heads # replaces h+e+a+d+s → 1
⇒ 1

Để tránh liệt kê các ký tự, thay vào đó , một khoảng từ - đến định dạng có thể được sử dụng.


Quan tâm để giải thích nó?
Juan Cortés

Giả định BSD / GNU tr. POSIXly:tr -s ta-s '-[1*]'
sch

4

Lắp ráp 8088, IBM PC DOS, 17 byte

00000000: b402 0826 8200 7a04 b22d cd21 b231 cd21  ...&..z..-.!.1.!
00000010: c3

Chưa được lắp ráp:

B4 02           MOV  AH, 02H        ; DOS API display char function     
08 26 0082      OR   DS:[82H], AH   ; set parity flag from input 
7A 04           JPE  HEADS          ; if even, heads - display just '1'
B2 2D           MOV  DL, '-'        ; otherwise first display a '-''
CD 21           INT  21H            ; output DL to console
            HEADS: 
B2 31           MOV  DL, '1'        ; display the '1'
CD 21           INT  21H            ; output DL to console
C3              RET

Giải trình:

Sử dụng cờ chẵn lẻ của CPU để xác định xem char đầu tiên là 'h'(số chẵn của số nhị phân 1) hay 't'(số lẻ của số nhị phân 1). Điều này tiết kiệm một byte so với char trong ASCII.

Đầu vào từ dòng lệnh, đầu ra đến bàn điều khiển.

Đầu ra đầu vào:

nhập mô tả hình ảnh ở đây



4

shell (xách tay / POSIX), 16 byte

expr $i : he - 1

Dùng thử trực tuyến!
Cảm ơn @ StéphaneChazelas trong unix.stackexchange.com

Các giải pháp khác đã thử:
echo $[30#$i%7-1] # 17 bytes but only in bash, zsh. Dùng thử trực tuyến!
echo $((30#$i%7-1)) # 19 bytes but only bash,ksh,zsh. Dùng thử trực tuyến!
he=2;echo $[${i%a*}-1] # 22 bytes But only in bash,zsh . Dùng thử trực tuyến!
a=${i%h*};echo ${a:+-}1 # 23 . xách tay. Dùng thử trực tuyến!
he=2;echo $((${i%a*}-1)) # 24 bytes . xách tay. Dùng thử trực tuyến!
IFS=h;set $i;echo ${1:+-}1 # 26 (change IFS) . xách tay. Dùng thử trực tuyến!
(IFS=h;set $i;echo ${1:+-}1) # 28 (subshell) . xách tay. Dùng thử trực tuyến!
(IFS=h;set $i;echo $(($#*2-3))) # 31 bytes . xách tay. Dùng thử trực tuyến!

Lưu ý: Sử dụng dashnhư một ví dụ hợp lý của máy kiểm tra vỏ di động.

  • expr $i : he - 1hoạt động bằng cách đếm có bao nhiêu nhân vật phù hợp hevới $i : he. Một headstrận đấu 2và một tailstrận đấu từ 0 (không) .Sau đó trừ đi 1với - 1.

  • $[30#$i%7-1]hoạt động bằng cách chuyển đổi chuỗi thành một số nguyên. Cơ sở 30 và mod bằng 7 đã được chọn để có được sự khác biệt giữa 2 headstails. Sau đó trừ đi 1 chuyển đổi các số thành 1-1.
    Lưu ý rằng a $[...]là một dạng biểu thức số học cổ xưa $((...))chỉ có giá trị trong một số shell.

  • he=2;echo $[${i%a*}-1]hoạt động bằng cách tạo một biến của một số giá trị và sau đó sử dụng Mở rộng số học để mở rộng biến đó (từ giá trị văn bản). Các ${i%a*}cải headsđể hetailsđể t(mà, như là một biến, có giá trị từ 0).

  • IFS=h;set $i;echo ${1:+-}1hoạt động trong hai bước. Thiết IFS để hphá vỡ các viện chứng $itrong set $ithành phần chia cho nhân vật h, headsđược chia để '''eads', do đó thiết lập $1để null. tailkhông được chia cho h, do đó làm cho $1bằng tails. Sau đó, ${1:+-}tạo một -giá trị if $1là null (như trong tails) hoặc không có gì (như với null $1). Dấu hiệu đó (hoặc không có gì) được nối với 1.

  • (IFS=h;set $i;echo $(($#*2-3)))hoạt động theo cách tương tự nhưng sử dụng số phần ( $#) mà chuỗi trong $iđã bị phá vỡ.


3

Python 2, 17 byte

print'-1'['t'>i:]

'heads'nhỏ hơn 't', do đó, nó ước tính True == 1và in chuỗi sau ký tự đầu tiên. 'tails'lớn hơn 't', vì vậy nó ước tính False == 0và toàn bộ chuỗi được in.

Nếu chúng ta đang làm điều này từ dòng lệnh, với in ấn ngầm, nó sẽ trở thành:

'-1'['t'>i:]

... cho 12 byte, nhưng nó thêm dấu ngoặc đơn vào đầu ra.


3

QBasic, 11 byte

Đây phải là đoạn QBasic ngắn nhất tôi từng viết.

c=i>"t
?c^c

Giải trình:

Trên đây là một số QBasic chơi golf khá nặng. Khi trình tự động định dạng được xử lý, nó sẽ trông như thế này:

c = i > "t"
PRINT c ^ c

Dòng đầu tiên so sánh chuỗi ivới "t". Nếu i"heads", i > "t"là sai và c = 0. Nếu i"tails", i > "t"là đúng và c = -1. Có, -1là giá trị mặc định cho boolean true trong QBasic!

Dòng thứ hai ánh xạ -1tới -10để 1qua một thủ thuật toán học: (-1)^(-1) == 1/(-1) == -1, và 0^0, mặc dù về mặt kỹ thuật toán học không xác định, lợi nhuận 1.

Mã này yêu cầu iđược khai báo rõ ràng dưới dạng biến chuỗi; nếu không, nó sẽ phải như vậy i$. Chương trình thử nghiệm đầy đủ (đã thử nghiệm trên QB64 ):

DIM i AS STRING
DATA heads, tails

FOR x = 1 TO 2
READ i

c=i>"t
?c^c

NEXT x

3

Gaia , 5 4 byte

'eI(

Tương tự như câu trả lời của Dennis 'CJam , tìm chỉ mục etrong chuỗi đầu vào

Đã lưu một byte vì tôi không nhận ra đầu vào được tự động sử dụng làm đối số nếu không đủ giá trị ngăn xếp

Làm thế nào nó hoạt động

'e  Push e
I   Index of e in the the input. 2 if heads, 0 if tails
(   Subtract One
Stack gets automatically outputted

Hãy thử trực tuyến!



3

ed , 27 25 21 byte

edlàm tôi đau đầu. Cuối cùng đã tìm ra nó với sự giúp đỡ từ @ed1conftrên twitter và một số peeps trên unix.se. Bạn không thể chỉ phù hợp với những điều với s/re/newtext/, bạn phải thêm tiền tố nó với gtrường hợp edgói một buồn. Nó giống như một chương trình unix 50 tuổi gắt gỏng nói "hãy ra khỏi bãi cỏ của tôi".

g/t/s//-
,s/\w\+/1
w

Hãy thử trực tuyến!

-2 byte bằng cách giảm /s
-4 byte sedcuối cùng nhờ @manatwork (& có câu trả lời tôi đạo văn)
Phiên bản cũ:
g/t/s//- g/\w\+/s//1 wq .


1
Nhưng bạn chỉ cần thủ thuật địa chỉ cho lệnh 1, vì lệnh 2 sẽ không bao giờ thất bại. Và không cần phải rõ ràng q, nó sẽ tự thoát ra khi không còn gì để làm. Và bạn chỉ cần một dòng mới sau họ, thì. Hãy thử trực tuyến!
manatwork

Ahh cảm ơn tôi sẽ thử đề xuất của bạn khi tôi về nhà. Tại quán rượu bây giờ
roblogic

2

Python, 20 byte

print(('h'in i)*2-1)

Điều này trả về Falsenếu không, và Truenếu có. Trong python False0đều giống nhau, và True1được là tốt.

Vì thế:

True (1) * 2 -1 = 2-1 = 1
False (0) * 2 - 1 = 0-1 = -1

2

golflua 25 20 18

w(I.r():f'h'&1|-1)

Có lẽ có thể chơi golf nhiều hơn bằng cách sử dụng một số thủ thuật mà tôi không nghĩ đến vào lúc này. (xem lịch sử cho phiên bản cũ) Đã lưu 5 ký tự bằng cách di chuyển đầu vào writevà bỏ qua ifcâu lệnh ở đó. Hai ký tự khác đã được lưu bằng cách bỏ qua dấu ngoặc đơn tùy chọn trên find. Nó không kiểm tra các điều kiện thất bại (nghĩa là đầu vào không phải là đầu hoặc đuôi ).

Tương đương Lua sẽ là

io.write(io.read():find('h') and 1 or -1)

2

Haskell, 18 byte

f('h':_)=1
f _= -1

Mỗi chuỗi bắt đầu bằng chữ cái hđược ánh xạ tới 1, tất cả các chuỗi khác -1.


2

Sed: 16 ký tự

s/t/-/
s/\w\+/1/

Chạy mẫu:

bash-4.3$ sed 's/t/-/;s/\w\+/1/' <<< 'heads'
1

bash-4.3$ sed 's/t/-/;s/\w\+/1/' <<< 'tails'
-1

Thật tuyệt, tôi đã sử dụng regex của bạn cho edgiải pháp của tôi , nhưng nó vẫn mất 23 byte, vì ednó cũ và khó chịu!
roblogic

\w\+là các phần mở rộng GNU mặc dù.
sch




2

dc , 8 byte

?z2*1r-p

dc không thể làm bất cứ điều gì có ý nghĩa với các chuỗi khác ngoài việc đọc chúng và cố gắng đánh giá chúng. Làm điều này, "người đứng đầu" đưa ra một số cảnh báo về các lệnh chưa được thực hiện và ngăn xếp trống, mà chúng ta bỏ qua, nhưng quan trọng là ngăn xếp vẫn trống. "Đuôi" gần như giống với ngoại lệ quan trọng là "ls" cuối cùng tải một giá trị từ thanh ghi s vào ngăn xếp.

Sau đó, chúng tôi sử dụng "z" để có được chiều dài ngăn xếp và câu đố một cách hợp lý để có câu trả lời đúng.

Hãy thử trực tuyến!


2

Hình tam giác , 10 byte

F.~%.7/-_<

Hãy thử trực tuyến!

Chia giá trị ASCII của đầu vào ký tự cho 7. Trừ thương số từ 15. Việc thực thi dừng khi IP hết không gian chương trình. Điều này hoạt động vì Triangular chỉ có thể quản lý phân chia số nguyên. Thuận tiện, "h" có giá trị 104, bằng 14 khi số nguyên chia cho 7; "t" là 116, là 16 khi số nguyên chia cho 7.

Ungolfed / Giải thích:

   F
  . ~
 % . 7
/ - _ <
---------------------------------------------------------------
F                 - Push 15 to Top of Stack
 ~                - Read a character from input, push its value to ToS
   7              - Push 7 to ToS
     <_           - Change directions, then pop ToS-1 and ToS, push their integer quotient
        -         - Pop ToS-1 and ToS, push their difference
          %       - Print ToS as an integer

Phiên bản trước (14 byte):

~\81|m/,!<.>i%

Đọc một ký tự từ đầu vào; nếu giá trị ASCII của ký tự đó chia cho 8 có phần dư, hãy in -1, nếu không thì in 1.


2

keg ,số 8 12 8 byte

_d=2*1-.

Hãy thử trực tuyến!

Giải thích (cú pháp không hợp lệ)

_        Take input and discard the last item
 d=      If the top of the stack is d:
   2*    Re-set the top of the stack as 2
     1-  Decrement the top of the stack by 1
       . Explicitly output the top of the stack

-4 byte nhờ thao tác


Có thể có một số khác biệt phiên bản phiên dịch TIO? Có vẻ như nó không xử lý được cả những người đứng đầu các khu vực khác
manatwork

Bây giờ tôi đã sửa chương trình.
A̲̲

Có thể có một số khác biệt phiên bản phiên dịch TIO? Có vẻ như nó nhận đầu vào ngầm và đảo ngược nó trên bất kỳ nỗ lực nào để xử lý dữ liệu không tồn tại, làm cho nó hoạt động mà không có ^.
manatwork

BTW, bạn không cần phải loại bỏ 4 ký tự cho đến khi có tên là một trong những người thứ hai và người khác đã xác định được đầu vào nào bạn nhận được. Chỉ cần xuất ra một cách rõ ràng để có thể để đầu vào chưa được xử lý trên ngăn xếp: Hãy thử trực tuyến! .
manatwork

Tôi nghĩ rằng tôi vẫn có thể -1 byte bằng cách chuyển sang "Reg": TIO!
A̲̲

1

Vitsy , 13 byte

Vì vậy, những gì, tôi đến trễ bữa tiệc. ¯ \ _ (ツ) _ /

zv&v'h'=)i1rN
z             Grab all input.
 v            Capture the top item (h or t) as a temp variable.
  &           Generate new stack, move to it.
   v'h'=      Test if the variable is h.
        )i    If it isn't, push -1.
          1   Push 1.
           r  Reverse the stack.
            N Print out the top item as a number.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.