Hack vào xổ số


44

Gần đây, bạn đã tạo một tài khoản trên một trang web cờ bạc tinh ranh, với một khoản phí 25 đô la, họ sẽ trả lại cho bạn một số tiền ngẫu nhiên từ 0 đến 50 đô la. Sau khi nhận được khoảng 5 đô la hai lần, bạn quyết định chứng minh trang web là lừa đảo. Sau khi truy cập tường lửa bên ngoài của họ bằng mật khẩu mặc định, bạn tìm đường đến máy chủ cơ sở dữ liệu của họ và tìm nơi giữ các giá trị cho số tiền tối thiểu và tối đa. Bạn quyết định cắm 25 '9 vào làm giá trị tối đa, nhưng nhận được thông báo lỗi cho biết giá trị tối đa phải là loại' uint64 '. Tuy nhiên, bây giờ bạn nhận thấy một số phím số dường như không nhập chính xác vào bảng điều khiển từ xa. Thử thách xuất hiện trước khi bạn gần như gõ vào trang web Q + A.

chỉ sử dụng các chương trình được cài đặt thuận tiện để kiểm tra và thực thi ngôn ngữ cụ thể của bạn, xuất kích thước tối đa của giá trị số nguyên 64 bit không dấu, tuy nhiên hầu hết mọi thứ trừ các công cụ lập trình đều bị hỏng trên máy này, khiến bạn không sử dụng các số 1, 2,4,6,8 - bằng mã nguồn hoặc bằng chữ, bạn cũng nhận thấy rằng dường như phải mất một khoảng thời gian dài hơn theo cấp số nhân để thực hiện chương trình cho mỗi đoạn mã bổ sung, vì vậy tốt hơn hết bạn nên giữ nó ngắn gọn nếu bạn muốn làm giàu trước khi vẽ!


Các thách thức

  • Viết chương trình xuất ra 18446744073709551615, giá trị tối đa của số nguyên 64 bit không dấu, dưới dạng một số hoặc một chuỗi đơn.

  • Mã nguồn của bạn không thể chứa bất kỳ ký tự nào '1', '2', '4', '6' hoặc '8'

  • nếu ngôn ngữ của bạn không có số nguyên 64 bit không dấu hoặc tương đương, đầu ra có thể ở định dạng chuỗi hoặc nếu không, nhưng phải là số ở trên.

  • Đây là nên mã ngắn nhất trong mỗi ngôn ngữ sẽ thắng!


14
giá trị được xác định trước. pfft
Matthew Roh

đầu ra có thể là một số thập lục phân?
dùng902383

1
@ user902383 phải ở định dạng chính xác, vui lòng phân tích nó dưới dạng số hex, miễn là đầu ra ở dạng ký hiệu thập phân bình thường.
colsw

10
Tôi thích câu chuyện lol. Nhiều thử thách hơn cần một cốt truyện như thế này
Cruncher

2
Vì vậy, bây giờ có nhiều giải pháp để lựa chọn, trang web đánh bạc có phải là một gian lận?
Tominator

Câu trả lời:


20

Sáp ong , 3 byte

_M{

Giải trình:

_   # Create a bee going horizontally across the line, reading the code
 M  # Decrement the bee's counter, which starts at 0.
    # This will set the counter to 2^64-1, because as bees don't have a concept of
    # negative numbers, all values that are negative are translated to 2^64-n,
    # and in this case, n = -1, as we are calculating 0 - 1.
  { # Print the value

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

Ngôn ngữ này là hoàn hảo cho thách thức này.

Đây là một trích từ trang Esolang trên Sáp ong :

Như mọi người đều biết, những con ong không có khái niệm về số âm, nhưng chúng phát hiện ra rằng chúng có thể sử dụng một phần quan trọng nhất của một địa chỉ để khắc phục điều đó. Do đó, tọa độ liên quan đến vị trí của một con ong được nhận ra bằng cách bổ sung hai tọa độ. Bằng cách này, một nửa không gian địa chỉ 64 bit có sẵn để đánh địa chỉ cục bộ mà không cần điều chỉnh theo từng hướng.

Địa chỉ bổ sung 64 bit hai cực dương là 9223372036854775807 hoặc 0x7fffffffffffffffff trong hex 64 bit. Tất cả các giá trị từ 0 đến giá trị này dịch giống hệt với cùng một giá trị 64 bit. Tất cả các giá trị n theo hướng ngược lại (âm) dịch thành 2 ^ 64-n. Ví dụ: n = -1 được giải quyết bởi 18446744073709551615. n = -9223372036854775808 được giải quyết bởi 9223372036854775808.

Điều này về cơ bản là không dấu dài.

EDIT: Tôi vẫn đang mong đợi Dennis vượt xa tôi bằng giải pháp 2 byte.


Bạn không cần phải in nó nếu biểu mẫu sẽ trả về giá trị. Xem câu trả lời khác.
MatthewRock

41

C, 26 byte

main(){printf("%lu",~0l);}

In một unsigned longgiá trị.

Yêu cầu kích thước longlà 64 bit.


Đẹp một. Khá giống nhau trong Perl : print~0.
Dada

2
~0lnên làm việc.
Christoph

11
@AnixPasBesoin là chữ thường 'L' :)
Quentin

2
Bạn đang giả định sizeof(long) * CHAR_BIT == 64. Một giả định hợp lý cho golf, nhưng đáng để chỉ ra.
Ray

1
@Chris đó là toán tử bitwise không.
Ven


28

SBCL 64 bit Lisp chung, 18 byte

most-positive-word

Từ tích cực nhất trên trình biên dịch 64 bit là 64uint. Đó là một cái gì đó.


7
Cú pháp tốt nhất :))
seshoumara

1
Làm cho tôi rất hạnh phúc
Stan Strum

22

Python3 REPL, 12 byte

Trong REPL: ~-(~-3<<9*7)

Bên ngoài REPL: print~-(~-3<<9*7)<-> Python2!

Đây là một cái khác ở 17 byte : ~-(~-3<<ord("?")).

Giải trình

Không có gì siêu lạ mắt. Đây là nó bị hỏng:

~-           | Subtract 1 from the next value.
  (          | 
   ~-3       | Subtract 1 from 3, resulting in 2
      <<     | Binary shift 2's digits to left,
        9*7  | by 9*7 (63).
           ) | The value inside the parentheses is now 2**64.

Biểu thức kết quả là đại khái (nhưng không hoàn toàn) ~-(2<<63)-> (2**64)-1. Tôi sử dụng toán tử nòng nọc hai lần ở đây. Một mẹo chơi golf về nó là ở đây .

Ngoài ra còn có sys.maxintPython2 có thể được sử dụng, nhưng tôi sẽ không nhìn vào đó.

repl.it <- liên kết thử nghiệm.


Tại sao mã này trông giống như một con mèo đã ăn một con mèo khác?
OldBunny2800

@ OldBunny2800 Là ~-(~phần mắt của con mèo đầu tiên? Tôi không thể nhìn rõ con mèo thứ hai ...
Yytsi

16

bc 15 13 byte

Lưu được 2 byte nhờ thao tác.

(a=9+7)^a-3/3

Không có gì lạ mắt, chỉ (16 ^ 16) -1.


2
Chào mừng đến với PPCG!
Sản xuất ETH

1
(a=9+7)^a-3/3
thao tác

Cảm ơn ban đầu tôi đã làm một cái gì đó như thế trong bash trước khi tôi nhận ra câu trả lời của tôi tốt hơn là bc thuần túy.
Richard

13

dc , 7 byte

Tôi nghĩ rằng nó cho phép các ngôn ngữ dựa trên ngăn xếp để lại câu trả lời trên ô trên cùng của ngăn xếp, tương tự như giá trị trả về cho các hàm. Nếu cần in rõ ràng, hãy thêm pvào cuối mã.

AZ5E^z-

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

Nó tính toán (2 64 - 1) bằng nhiều thủ thuật:

  • 2được cho là số chữ số ( Z) được tìm thấy trong số nguyên 10 ( A)
  • 64được đưa ra như 5E. Theo mặc định, dc sử dụng 10 làm cơ số đầu vào. Mặc dù vậy, nó có thể chấp nhận các số theo ký hiệu thập lục phân, nhưng chúng sẽ được chuyển đổi khác với mong đợi của bạn. Ví dụ: (5E) mặc định = (5E) (cơ số đầu vào = 10) = (5 * 10 1 ) + (14 (E) * 10 0 ) = 50 + 14 = 64

  • 1được đưa ra dưới dạng độ sâu của ngăn xếp ( z), vì chỉ có (2 64 ) có mặt sau đó

Câu chuyện khác:

Tuy nhiên, bây giờ bạn nhận thấy một số phím số dường như không nhập chính xác vào bảng điều khiển từ xa. Bạn hít một hơi thật sâu và bắt đầu kiểm tra từng phím số. Nó tệ hơn bạn nghĩ! Không một cái nào hoạt động, và bạn còn lại với nhiệm vụ tạo ra số nguyên mong muốn của bạn bằng cách chỉ sử dụng các chữ cái và ký hiệu.

Giải pháp trong dc: điện toán (16 16 - 1), vẫn là 7 byte!

Fz+d^z-          # push 15, push 1, add, duplicate, exponentiate, push 1, subtract

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


2
Câu chuyện thay thế tuyệt vời
phong cách xếp tầng


10

05AB1E , 4 byte

žJn<

Giải trình:

žJ   # Push 4294967296
  n  # Squared
   < # Decreased by one

Cuối cùng! Cơ hội sử dụng 05AB1Ecác nội trang cho sức mạnh của hai người!

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

Một câu trả lời 4 byte khác:

žxo<

Giải trình:

  o  # 2 to the power of
žx   # 64
   < # Decreased by one

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

(nếu có ai thắc mắc, câu hỏi này cũ hơn tất cả các câu trả lời 4 byte khác)


Tôi cảm thấy như có một giải pháp ngắn hơn dọc theo dòng 64o<nhưng tôi chưa tìm thấy nó. Một cái gì đó giống như '@Ço<với một lần đẩy 64 sáng tạo ... Nếu bạn quản lý để đẩy 64 bằng 1 byte, bạn có thể nhận được 3 là điểm tôi đang cố gắng thực hiện.
Bạch tuộc ma thuật Urn

10

MATLAB / Octave, 5 byte

@Sanchises đã đăng một câu trả lời MATLAB tuyệt vời, tuy nhiên đây là một cách tiếp cận khác biệt đáng kể, vì vậy tôi sẽ đăng nó bằng mọi cách:

tic/0

Trong MATLAB, tictrả về số mili giây đã qua kể từ khi chương trình được mở. Điều quan trọng là giá trị nó trả về là một uint64loại. Điều này tránh được việc phải truyền một số uint64từ loại mặc định của MATLAB double.

Bất kỳ số nào chia cho 0 trong MATLAB đều được coi là vô hạn đối với các loại điểm không nổi, MATLAB biểu thị đây là giá trị số nguyên tối đa cho loại đó.


Điều này cũng hoạt động với Octave mặc dù tùy thuộc vào trình thông dịch bạn sử dụng, nó cũng có thể đưa ra cảnh báo "chia cho số 0". Bạn có thể thử mã trực tuyến tại đây mặc dù như tôi nói bạn nhận được cảnh báo / 0 không xuất hiện trong MATLAB.


Cách tiếp cận thực sự thông minh, tốt đẹp.
colsw

Tôi chỉ thấy câu trả lời này bây giờ. Rất thông minh! (tất nhiên, nó không làm việc nếu bạn thực hiện điều này trên một máy tính rất nhanh như vậy mà tic==0lúc khởi động 😉)
Sanchises

7

bc ,18, 16 byte

  • Đã lưu 2 byte, thx @MrScapegrace
(9-7)^(55+9)-3/3

1
bạn có thể sử dụng một cái gì đó như -3/3để có được -1?
Ông Scapegrace

@MrScapegrace, vâng đó là một ý tưởng hay, cảm ơn bạn!
zeppelin

@boboquack 55 + 9 = 64, không phải 63!
JakeSteam

7

PHP, 16 byte

Điều này rất giống với câu trả lời từ Ven: https://codegolf.stackexchange.com/a/110751/38505

printf("%u",~0);

https://repl.it/Frcy/0

Để làm việc này, bạn cần ở trong kiến ​​trúc 64 bit. Điều này là do ~ 0 là -1, đó là 111111111111111111111111111111111111111111111111111111111111 1111 ở dạng nhị phân, trong 64 bit, so với 11111111111111111111111111111111 trong 32-bit, và con số này plataform phụ thuộc - Ismael Miguel


1
Cười ngả nghiêng. Điều này hoạt động trong bashquá : printf %u $[~0].
manatwork

Aha, đẹp @manatwork
ʰᵈˑ

Điều này phụ thuộc vào kiến ​​trúc, nó không hoạt động trên i386.
pts

1
@pts Rõ ràng! i386 là 16/32-bit. PHP rất kén chọn về điều đó. Để làm việc này, bạn cần ở trong kiến ​​trúc 64 bit. Điều này là do ~0-1, đó là 1111111111111111111111111111111111111111111111111111111111111111ở dạng nhị phân, trong 64 bit, so với 1111111111111111111111111111111132-bit, và con số này plataform phụ thuộc.
Ismael Miguel

@ Bạn hoan nghênh. Tôi phải thừa nhận rằng tôi đã chùng bước một chút. Tôi đã sao chép 32 1 của. Nếu bạn muốn, bạn có thể sửa lỗi ngữ pháp của bạn một chút về câu trả lời của bạn.
Ismael Miguel

6

MATLAB / Octave, 22 byte

eye(['~rw}?='-9 ''])/0

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

eyeđược sử dụng để tạo ma trận đơn vị (ma trận có 1trên đường chéo, khác 0). Không có đối số, điều này tạo ra một 1x1ma trận đơn vị, hay nói cách khác, chỉ là a 1. Nó nhận một đối số tùy chọn, đó là kiểu dữ liệu ('lớp' trong thuật ngữ MATLAB) của ma trận đã tạo. Do đó, chúng tôi yêu cầu một 1lớp uint64và chia nó cho 0, kết quả là InfMATLAB, được cắt bớt intmax('uint64').

Các vector ['~rw}?='-9 '']đánh giá để 'uint64'. Ghép một char trống vào một vectơ ngắn hơn 1 byte so với sử dụng char('~rw}?='-9).

Lý do hướng tới câu trả lời này: tích hợp intmaxđáng buồn đánh giá đến mức tối đa của một số nguyên có chữ ký 32 bit. Tùy chọn tiếp theo rõ ràng là uint64(), chứa các ký tự bị cấm. Cách khác là sử dụng hàm lấy một chuỗi làm kiểu dữ liệu. Các ứng cử viên rõ ràng là intmaxcast, nhưng các lựa chọn thay thế bao gồm zeros, oneseye.

eye(['~rw}?='-9 ''])/0    % Winning version! 22 bytes.
intmax(['~rw}?='-9 ''])   % Obvious candidate. 23 bytes.
1/zeros(['~rw}?='-9 ''])  % 24 bytes
cast(Inf,['~rw}?='-9 '']) % 25 bytes. Also an obvious candidate, but actually very long.

Lưu ý: MATLAB được cài đặt theo mặc định trên hầu hết tất cả các trang web cờ bạc tinh ranh.


6

JavaScript, 39 38 33 32 byte

alert(0xafebff0+'737095'+0xc99f)

Chỉnh sửa: Đã lưu 5 byte nhờ @Arnauld.


2
Hủy bỏ cảnh báo vì điều này có thể được chạy trong một giao diện điều khiển.
Alexis Tyler

6

Java 8, 30 byte

()->Long.toUnsignedString(~0L)

Kiểm tra trực tuyến


Thiếu java "soạn sẵn" và phần system.out.print
Viktor Mellgren

2
@ViktorMellgren Điều này tuyên bố một biểu thức lambda, điều này là hoàn toàn tốt.
Sanchise

Điều này đòi hỏi Java 8
mbomb007

20
Có java 8 trở lên, không còn bản tóm tắt nữa! Sợ hãi tiền mã hóa! Java là một đối thủ thực sự bây giờ. Đây là thời gian tất cả các bạn đã rất sợ hãi, tất cả ngôn ngữ lập trình của bạn là không có gì! Đợi đã, vẫn còn 30 byte, ... ẩn
dwana

5
Chắc chắn "giải pháp ngắn hơn" sử dụng các ký tự bất hợp pháp 1846.
Neil

5

BF, 108 byte

-[----->+<]>--.+++++++.----..++.+.---..----.+++++++.----.++++.-------.+++++++++.----..----.+++++.-----.++++.

Nếu mỗi lệnh được coi là 3 bit, thì đây có khả năng là 41 byte.


3
Mỗi lệnh là một byte. Không phải 3 bit.
mbomb007

Vâng, đó là lý do tại sao tôi đặt nó là 108 byte ...
Timtech

Vâng, nhưng bạn đã nói "đây có khả năng là 41 byte", nhưng thực tế không phải vậy.
mbomb007

Một trình thông dịch có thể được thực hiện để giải thích các nhóm 3 bit là một trong tám lệnh+-<>[].,
Timtech

Điều đó đã tồn tại. Nó được gọi là esolangs.org/wiki/Binaryfuck
mbomb007

5

Võng mạc , 28 27 byte

Đã lưu 1 byte nhờ Kritixi Lithos


bieegheeahdhajffbgbf
T`l`d

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

Giải trình


bieegheeahdhajffbgbf

Thay thế đầu vào không tồn tại / trống bằng chuỗi này. Chuỗi đặc biệt này được tạo bởi "nghịch đảo" của chương trình này. Nó mã hóa athông qua jnhư 0thông qua 9, tương ứng.

T`l`d

Đây là một Tgiai đoạn ransliteration. Các ldlà bộ ký tự được sử dụng để chuyển ngữ. lđại diện cho bảng chữ cái viết thường, dlà tất cả các chữ số. Vì vậy, nó ánh xạ abcdefghijtrở lại 0123456789.


tio.run/nexus/retina#@8/l5Onq6u7h6uro4eLh6OXm5uTu5MYVkuCTkPL/... là 1 byte ngắn hơn (tôi đã sử dụng dthay vì EO)
Kritixi Lithos

@KritixiLithos ồ. Tôi vẫn chưa hoàn toàn tỉnh táo: P
Business Cat

5

C ++, 46 byte.

int m(){std::cout<<unsigned long long(5+3-9);}

Lần đầu tiên chơi golf mã, nhưng tôi khá hài lòng với bản thân mình. Sẽ vui vẻ nhận bất kỳ lời phê bình / đề nghị nào :)


5

Brain-Flak , 64, 62, 58 , 54 byte

(((((()()()()){}){}){}){}){({}<(({}()){}[()])>[()])}{}

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

[Dùng thử trực tuyến!]

Bốn byte được lưu nhờ @Riley!

Giải trình:

#Push a 64
(((((()()()()){}){}){}){})

#While true
{

  #Pop the top of the stack. We'll store this value for later, but first
  ({}

  #Before pushing the value
  <

    #Push (N + 1) * 2 - 1
    # (where N is the number underneath, originally 0)
    (({}()){}[()])

  >

  #And push the TOS minus one back on
  [()])

#endwhile
}

#Pop the zero left over
{}

#And decrement the number underneath
({}[()])

Để ghi lại, tôi đã thử đẩy 32 và tăng gấp bốn lần, nhưng đó là cùng một số byte.


Bạn có thể lưu 4 byte bằng cách sử dụng một trong các ()s từ 64 để đẩy 1:((((((())()()()){}){}){}){})
Riley

@Riley Aha, tất nhiên rồi! Cảm ơn
DJMcMayhem



Ừm, bạn không thể làm N*2+1thay vì (N+1)*2-1?
Jo King

4

C # 6, 31 byte

()=>System.Console.Write(~0UL);

Khá giống với Java.

C # 5, 56 byte

class P{static void Main(){System.Console.Write(~0UL);}}

Câu trả lời C # 6 chỉ là một hành động ẩn danh, cũng có trong C # 5.
TheLethalCoder

Ngoài ra, thử thách chỉ yêu cầu bạn xuất số để bạn có thể biên dịch thành Func<ulong>:()=>~0UL;
TheLethalCoder

Điều đó cũng không nói rằng bạn không thể sử dụng bất kỳ đầu vào nào để bạn có thể biên dịch thành một Func<int, ulong>để lưu một byte: _=>~0UL;và tôi nghĩ rằng nó vẫn còn hiệu lực.
TheLethalCoder

4

Forth (gforth), 11 9 7 byte

true U.

Dùng thử trực tuyến

truecũng giống như -1. U.in một số dưới dạng một số nguyên không dấu.

Điều này hoạt động trên TIO, có thể vì nó có kiến ​​trúc 64 bit? Tôi không chắc. Nếu tôi chạy -1 U.trên repl.it, chẳng hạn, tôi nhận được 2 ** 32-1. Nếu repl.it được hỗ trợ số nguyên có độ dài gấp đôi, đầu ra chúng sẽ sử dụng UD.thay thế.


Bạn có thể giảm điều này xuống-3 3 / U.
zeppelin

Hoặc, thậm chí tốt hơn: true U. (cũng nhịp điệu độc đáo)
zeppelin

Ồ, tôi quên mất true, vì tôi đã quá quen với việc sử dụng 01. Cảm ơn.
mbomb007

4

Python3 REPL, 11 byte

~0^~0>>~077

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

  • ~ 0 là -1 (phần bù hai, một chuỗi vô hạn '1')
  • 077 là 63 trong bát phân, vì vậy ~ 077 là -64
  • Dịch chuyển sang phải với tham số âm là dịch chuyển sang trái
  • Đặt tất cả lại với nhau, -1 xor (-1 << 64) là số chúng tôi đang tìm kiếm

4

PowerShell , 29 14 byte

0xC000PB/3-3/3

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

Cảm ơn @ n0rd vì đã chơi golf một nửa.

Điều này thúc đẩy toán tử đơn nguyên sẵn có PB, về cơ bản hoạt động như "nhân số trước với 1125899906842624" (nghĩa là có bao nhiêu byte trong một pebibyte). Điều đó kết hợp với hex 0xC000, hoặc 49152, vì vậy 49152 pebibytes. Chúng tôi chia nó bằng cách 3, cho năng suất 18446744073709551616và trừ 3/3để có được giá trị cuối cùng.


"0x$(7-3)000PB-9/9"|iex
n0rd

2
0xC000PB/3-3/3
n0rd

@ n0rd ơi, thật là thông minh, sử dụng PBnhư thế. Cảm ơn!
admBorkBork

@ n0rd khá ấn tượng, chào mừng bạn đến với PPCG!
colsw

4

JavaScript (ES6), 50 byte

[...'䠎ᴐIF╏ɧ'].map(s=>s.charCodeAt()).join``

1
Bạn có thể thay đổi các ký tự thành '䠎ᴐIF╏ɧ'và xóa-27
powelles

@jdp Rất vui, cảm ơn :)
George Reith

3

Hội x64, 7 byte

hex (lắp ráp): 4831C048FFC8C3

tháo rời, nhận xét:
XOR RAX,RAX ;Zero the value of 64 bit register RAX DEC RAX ;Decrement the value of RAX RET ;Return this value

RAX là một thanh ghi 64 bit và thường được sử dụng để trả về các đối số nguyên (ví dụ: C). Bằng cách giảm 1, giá trị của nó cuộn từ 0 đến ... 2 ^ 64-1, chính xác là cần thiết.
Mặc dù, tệp nhị phân được lắp ráp chứa những cái và bốn và số, phần lắp ráp không có, nhưng tệp được lắp ráp được tính trong phần lắp ráp, vậy nó có được tính không? Ow, đầu của tôi.
Ngoài ra, đầu ra là giá trị trả về trong trường hợp này.


3

Brain-Flak , 223 193 byte

Bao gồm +1 cho -A
-30 nhờ DJMcMayhem

((((((((((((((((((((((((()()()){}){}()){}){}())[()()()()])[][]())[[]()()])[]))()()()())[[]()()])[][()])[()()()()])()()()())[(()()()){}()])()()()()))()()())[()])[()()]))()()()())[(()()()){}()])

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

Điều này chỉ đẩy các giá trị ASCII và in dưới dạng ký tự.

Để tham khảo, phải mất 338 byte để tạo số thực tế bằng cách sử dụng golfer Integer meta .

((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()()()){}()){}){}()){}()){({}[()])}{}()){}()){}())){}{})){}{})()){}{})){}{})){}{})()){}{})){}{})){}{}){}){}())){}{}){}())()){}{})){}{}){}){}){}())()){}{})()){}{})){}{}){}())){}{})()){}{})){}{})){}{})){}{})()){}{})()){}{})){}{}){}())){}{}){}){}())()){}{})()){}{})){}{})

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


Bạn có thể tiết kiệm được một bó nếu tận dụng lợi thế của nilad stack-height []. Ví dụ: ((((((((((((((((((((((((()()()){}){}()){}){}())[()()()()])[][]())[[]()()])[]))()()()())[[]()()])[][()])[()()()()])()()()())[(()()()){}()])()()()()))()()())[()])[()()]))()()()())[(()()()){}()])(Có thể tôi còn thiếu nhiều hơn)
DJMcMayhem

Ngoài ra, tôi nghĩ bạn có thể thêm một byte cho -Atừ gọi tiêu chuẩn đã bao gồm -f, vì vậy nó chỉ có một off để làm -fAthay
DJMcMayhem

@DJMcMayhem Khi nào chúng ta bắt đầu sử dụng +1 cho các đối số? Tôi đã không nghĩ về việc []tôi sẽ nhìn vào điều đó khi tôi có cơ hội. Cảm ơn.
Riley

3

MATL, 8 byte

l_5Z%EZD

Điều này có thể được cải thiện, nhưng tôi chưa quen với các chuỗi và kiểu trong MATL.

Dùng thử tại matl.suever.net

Giải trình:

l       % push 1
_       % unary minus
5       % push 5, corresponds to type 'uint64'
Z%      % convert 1 to this type
E       % double
ZD      % display as a string

Nó cần phải là YY5Z% ZD để buộc loại uint64, nhưng tôi không biết tại sao sử dụng 1 5Z% thay vì chỉ hoạt động ...
B. Mehta

Bạn không thể sử dụng 8.
xnor

@xnor Rất tiếc, đã sửa.
B. Mehta

Bạn có thể thêm một liên kết demo bằng cách sử dụng matl.suever.net hoặc matl.tryitonline.net không?
Suever

1
@LuisMendo Ah, tất nhiên - Tôi nghĩ castđã được sử dụng, nhưng nó có ý nghĩa nếu typecastđược sử dụng. Cám ơn giải thích rõ ràng.
Sanchise

3

Javascript 55 byte

alert(""+(590300>>5)+(59530-3>>3)+7370955+(3*59*73>>3))

mã tạo ra và sau đó cảnh báo chuỗi 18446744073709551615 bằng các thao tác bitwise

590300 >> 5 18446
59530-3 >> 3 7440
7370955
3 * 59 * 73 >> 3 1615


Hiển thị 2588673709551615cho tôi ...
n0rd

alert(0xafebff0+'7370955'+(3*59*73>>3))hoạt động tốt
n0rd

Tôi sẽ bỏ nó vì nó là để giữ cho phương thức được sử dụng thay vì chỉ sao chép một người khác bây giờ.
fnɛtɪk

2

Swift, 8 byte

UInt.max

sân chơi bên ngoài / thay thế - 15 byte

print(UInt.max)

2

TI-Basic, 10 byte

9+7
Ans^Ans-0!

TI-BASIC không thể tính toán, lưu trữ hoặc hiển thị chính xác số phao này chỉ có 14 chữ số (khoảng 44 bit) chính xác.
lirtosiast
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.