एक लॉटरी में हैक


44

आपने हाल ही में एक डोडी जुआ साइट पर एक खाता बनाया है, जहां 25 डॉलर के शुल्क के लिए, वे आपको 0 और 50 डॉलर के बीच एक यादृच्छिक राशि का भुगतान करेंगे। लगभग 5 डॉलर दो बार प्राप्त करने के बाद, आप साइट को एक घोटाला साबित करने का फैसला करते हैं। डिफ़ॉल्ट पासवर्ड के साथ उनके बाहरी फ़ायरवॉल तक पहुंचने के बाद, आप अपने डेटाबेस सर्वर पर अपना रास्ता ढूंढते हैं, और पाते हैं कि न्यूनतम और अधिकतम मात्रा के लिए मान कहाँ हैं। आप अधिकतम मान के रूप में 25 '9 को प्लग करने का निर्णय लेते हैं, लेकिन एक त्रुटि संदेश प्राप्त करते हुए कहते हैं कि अधिकतम मूल्य' uint64 'प्रकार का होना चाहिए। हालाँकि अब यह है कि आप कुछ संख्या कुंजियों को ध्यान में रखते हुए रिमोट कंसोल में टाइप नहीं करते हैं। यह चुनौती आपके सामने लगभग वैसी ही दिखाई देती है, जैसे किसी Q + A साइट पर टाइप की गई हो।

अपनी विशेष भाषा के परीक्षण और निष्पादित करने के लिए केवल सुविधाजनक रूप से इंस्टॉल किए गए कार्यक्रमों का उपयोग करके, एक बिना आकार के 64-बिट पूर्णांक मान का अधिकतम आकार आउटपुट करता है, हालांकि इस मशीन पर प्रोग्रामिंग टूल को छोड़कर लगभग सभी चीजें आपको नंबर 1 के उपयोग के बिना छोड़ देती हैं, 2,4,6,8 - या तो स्रोत कोड या शाब्दिक में, आप यह भी नोटिस करते हैं कि प्रत्येक अतिरिक्त कोड कोड के लिए प्रोग्राम को निष्पादित करने में बहुत अधिक समय लगता है, इसलिए यदि आप इसे बेहतर रखते हैं तो ड्राइंग से पहले अमीर बनना चाहते हैं!


चुनौती

  • एक प्रोग्राम लिखें जो 18446744073709551615, एक अहस्ताक्षरित 64-बिट पूर्णांक के अधिकतम मूल्य, या तो एक संख्या, या एक स्ट्रिंग के रूप में आउटपुट करता है।

  • आपके स्रोत कोड में '1', '2', '4', '6' या '8' में से कोई भी वर्ण नहीं हो सकता

  • यदि आपकी भाषा में कोई 64-बिट पूर्णांक या समतुल्य नहीं है, तो आउटपुट स्ट्रिंग प्रारूप में हो सकता है या अन्यथा, लेकिन उपरोक्त संख्या होनी चाहिए।

  • यह प्रत्येक भाषा की जीत में इतना छोटा कोड है!


14
पूर्वनिर्धारित मूल्य। pfft
मैथ्यू रो

उत्पादन एक हेक्साडेसिमल संख्या हो सकती है?
user902383

1
@ user902383 को सटीक प्रारूप में होना चाहिए, इसे एक हेक्स संख्या के रूप में पार्स करने के लिए स्वतंत्र महसूस करें, जब तक कि आउटपुट सामान्य दशमलव संकेतन में है।
कोल्स

10
मुझे कहानी बहुत पसंद है। अधिक चुनौतियों के लिए इस तरह एक बैकस्टोरी की आवश्यकता है
क्रंचर

2
तो अब जब कि चुनने के लिए कई समाधान हैं, तो क्या जुआ स्थल धोखाधड़ी था?
टोमिनेटर

जवाबों:


20

मोम , 3 बाइट्स

_M{

स्पष्टीकरण:

_   # 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

इसे ऑनलाइन आज़माएं!

यह भाषा इस चुनौती के लिए एकदम सही है

यहां बीज़वैक्स पर एसोलंग पृष्ठ से एक उद्धरण है :

जैसा कि सभी जानते हैं, मधुमक्खियों के पास नकारात्मक संख्याओं की अवधारणा नहीं है, लेकिन उन्होंने पाया कि वे उस पते के सबसे महत्वपूर्ण बिट का उपयोग कर सकते हैं। इस प्रकार, एक मधुमक्खी की स्थिति के सापेक्ष निर्देशांक को निर्देशांक के दो पूरक द्वारा महसूस किया जाता है । इस तरह, 64-बिट एड्रेस स्पेस का आधा हिस्सा प्रत्येक दिशा में रैपराउंड के बिना स्थानीय पते के लिए उपलब्ध है।

अधिकतम सकारात्मक 64-बिट दो का पूरक पता 9223372036854775807 या 64 बिट हेक्स में 0x7fffffffffffffff है। इस मान पर 0 से सभी मान समान रूप से 64 बिट मान पर अनूदित होते हैं। विपरीत (नकारात्मक) दिशा में सभी मान 2 ^ 64-n पर अनुवाद करते हैं। उदाहरण के लिए: n = -1 18446744073709551615 द्वारा संबोधित किया गया है। n = -9223372036854775808 9223372036854775808 द्वारा संबोधित किया गया है।

यह मूल रूप से अहस्ताक्षरित लोंग है।

संपादित करें: मैं अभी भी डेनिस को मुझे 2-बाइट समाधान के साथ आउटगोल्फ करने की उम्मीद कर रहा हूं।


यदि फॉर्म वैल्यू वापस करेगा तो आपको इसे प्रिंट करने की आवश्यकता नहीं है। अन्य उत्तर देखें।
मैथ्यू रॉक

41

सी, 26 बाइट्स

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

एक unsigned longमूल्य प्रिंट करता है ।

long64 बिट्स के आकार की आवश्यकता होती है ।


अच्छा है। बहुत पर्ल में बहुत ही print~0:।
दादा

2
~0lकार्य करना चाहिए।
क्रिस्टोफ

11
@AnixPasBesoin यह लोअरकेस 'L' है :)
Quentin

2
तुम मान रहे हो sizeof(long) * CHAR_BIT == 64। गोल्फ के लिए एक उचित धारणा है, लेकिन इंगित करने के लायक है।
रे

1
@ क्रिस यह बिटवाइजर नहीं ऑपरेटर है।
शुक्र


28

64-बिट SBCL कॉमन लिस्प, 18 बाइट्स

most-positive-word

64-बिट संकलक पर अधिकांश सकारात्मक शब्द 64uint है। यह कुछ है।


7
बेस्ट सिंटैक्स :))
शीशमारा

1
मुझे बहुत खुश करता है
स्टैन स्ट्रम

22

पायथन 3 आरईपीएल, 12 बाइट्स

REPL में: ~-(~-3<<9*7)

REPL के बाहर: print~-(~-3<<9*7)<-> पायथन 2!

यहाँ 17 बाइट्स में एक और एक है: ~-(~-3<<ord("?"))

व्याख्या

सुपर फैंसी कुछ भी नहीं। यहाँ यह टूट गया है:

~-           | 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.

परिणामी अभिव्यक्ति लगभग (लेकिन काफी नहीं) ~-(2<<63)-> है (2**64)-1। मैं यहां दो बार टैडपोल ऑपरेटर का उपयोग करता हूं । इसके बारे में एक गोल्फ टिप यहाँ है

sys.maxintPython2 में भी है जिसका उपयोग किया जा सकता है, लेकिन मैं इसे नहीं देखूंगा।

repl.it <- परीक्षण लिंक।


यह कोड एक बिल्ली की तरह क्यों दिखता है जिसने दूसरी बिल्ली को खाया है?
OldBunny2800

@ OldBunny2800 ~-(~भाग पहली बिल्ली की आंखें हैं? मैं दूसरी बिल्ली को अच्छी तरह से नहीं देख सकता ...
Yytsi

16

ई.पू., 15 13 बाइट्स

सहेजे गए 2 बाइट्स मैनटवर्क के लिए धन्यवाद।

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

कुछ भी नहीं फैंसी, बस (16 ^ 16) -1।


2
PPCG में आपका स्वागत है!
ETHproductions

1
(a=9+7)^a-3/3
मैनटवर्क

धन्यवाद, मैं मूल रूप से कुछ ऐसा कर रहा था, इससे पहले कि मुझे एहसास हुआ कि शुद्ध बीसी के रूप में मेरा जवाब बेहतर है।
रिचर्ड

13

डीसी , 7 बाइट्स

मुझे लगता है कि यह स्टैक के शीर्ष सेल पर उत्तर छोड़ने के लिए स्टैक आधारित भाषाओं के लिए अनुमति है, कार्यों के लिए वापसी मूल्य के समान। यदि स्पष्ट मुद्रण की आवश्यकता है, pतो कोड के अंत में जोड़ें ।

AZ5E^z-

इसे ऑनलाइन आज़माएं!

यह कई ट्रिक का उपयोग करके गणना करता है (2 64 - 1):

  • 2Zपूर्णांक 10 ( A) में पाए गए अंकों ( ) की संख्या के रूप में दिया जाता है
  • 64के रूप में दिया गया है 5E। डिफ़ॉल्ट dc द्वारा इनपुट मूलांक के रूप में 10 का उपयोग किया जाता है। फिर भी, यह हेक्साडेसिमल नोटेशन में संख्याओं को स्वीकार कर सकता है, लेकिन वे आपकी अपेक्षा से अलग रूप में परिवर्तित हो जाएंगे। उदाहरण: (5E) डिफ़ॉल्ट = (5E) (इनपुट मूलांक = 10) = (5 * 10 1 ) + (14 (E) * 10 0 ) = 50 + 14 = 64

  • 1स्टैक की गहराई के रूप में दिया गया है ( z), तब से केवल (2 64 ) मौजूद था

वैकल्पिक कहानी:

हालाँकि अब यह है कि आप कुछ संख्या कुंजियों को ध्यान में रखते हुए रिमोट कंसोल में टाइप नहीं करते हैं। आप एक गहरी सांस लेते हैं और प्रत्येक संख्यात्मक कुंजी का परीक्षण शुरू करते हैं। यह आपके विचार से भी बदतर है! एक भी काम नहीं करता है, और आप केवल अक्षरों और प्रतीकों का उपयोग करके अपने वांछित पूर्णांक का उत्पादन करने के लिए काम छोड़ रहे हैं।

डीसी में समाधान: कंप्यूटिंग (16 16 - 1), अभी भी 7 बाइट्स!

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

इसे ऑनलाइन आज़माएं!


2
महान वैकल्पिक कहानी
कैस्केडिंग-शैली


10

05AB1E , 4 बाइट्स

žJn<

स्पष्टीकरण:

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

आखिरकार! 05AB1Eदो शक्तियों के लिए बिल्डरों का उपयोग करने का मौका !

इसे ऑनलाइन आज़माएं!

एक और 4 बाइट उत्तर:

žxo<

स्पष्टीकरण:

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

इसे ऑनलाइन आज़माएं!

(यदि कोई सोच रहा है, तो यह प्रश्न अन्य सभी 4-बाइट उत्तरों से पुराना है)


मुझे लगता है कि वहाँ की तर्ज पर एक छोटा सा समाधान है, 64o<लेकिन मुझे यह अभी तक नहीं मिला है। '@Ço<रचनात्मक 64 पुश के साथ कुछ ऐसा ... यदि आप 1 बाइट के साथ 64 पुश करने का प्रबंधन करते हैं, तो आप प्राप्त कर सकते हैं 3 वह बिंदु है जिसे मैं बनाने की कोशिश कर रहा हूं।
मैजिक ऑक्टोपस मूत्र

10

MATLAB / ऑक्टेव, 5 बाइट्स

@ सेंचुरीज़ ने एक उत्कृष्ट MATLAB उत्तर पोस्ट किया, हालांकि यह एक बहुत अलग दृष्टिकोण है, इसलिए मैं इसे वैसे भी पोस्ट करूँगा:

tic/0

MATLAB में, ticप्रोग्राम के खुलने के बाद से मिलीसेकंड की संख्या को वापस लौटा देता है। महत्वपूर्ण रूप से इसका मूल्य एक uint64प्रकार है। यह uint64MATLABs के डिफ़ॉल्ट प्रकार से एक नंबर डालने से दूर हो जाता है double

MATLAB में 0 से विभाजित किसी भी संख्या को अनन्तता के रूप में माना जाता है जो गैर-फ्लोटिंग बिंदु प्रकारों के लिए है, MATLAB इसे उस प्रकार के अधिकतम पूर्णांक मान के रूप में दर्शाता है।


हालांकि यह ऑक्टेव के साथ भी काम करता है, जिसके आधार पर आप जिस दुभाषिया का उपयोग करते हैं, वह "शून्य द्वारा विभाजन" के साथ-साथ चेतावनी भी दे सकता है। आप यहाँ ऑनलाइन कोड की कोशिश कर सकते हैं , जैसा कि मैं कहता हूं कि आपको एक / 0 चेतावनी मिलती है जो MATLAB में दिखाई नहीं देती है।


वास्तव में चतुर दृष्टिकोण, अच्छा है।
Colsw

मैं केवल अब इस जवाब को देख रहा हूं। बहुत चालाक! (बेशक, यह काम नहीं करता है यदि आप इसे बहुत तेज़ कंप्यूटर पर निष्पादित करते हैं, जैसे कि tic==0स्टार्टअप पर)
Sanchises

7

ई.पू. ,18, 16 बाइट्स

  • 2 बाइट्स सहेजे गए, thx @MrScapegrace
(9-7)^(55+9)-3/3

1
क्या आप -3/3पाने के लिए कुछ का उपयोग कर सकते हैं -1?
श्री स्कैपग्रेस

@MrScapegrace, हाँ यह एक अच्छा विचार है, धन्यवाद!
zeppelin

@boboquack 55 + 9 = 64, 63 नहीं!
जेकस्टेम

7

PHP, 16 बाइट्स

यह बहुत हद तक Ven: https://codegolf.stackexchange.com/a/110751/38505 के उत्तर की तरह है

printf("%u",~0);

https://repl.it/Frcy/0

इस काम के लिए, आपको 64-बिट आर्किटेक्चर में होना चाहिए। इसका कारण यह है ~ 0 32-बिट में 11111111111111111111111111111111 की तुलना में -1, जो बाइनरी में 111111111111111111111111111111111111111111111111111111111111 1111 है, 64 बिट्स में,, और संख्या plataform पर निर्भर कर रहे हैं - इस्माइल मिगुएल


1
जबरदस्त हंसी। इस में काम करता है bashभी: printf %u $[~0]
मैनटवर्क

अहा, अच्छा @manatwork
ʰᵈˑ

यह आर्किटेक्चर पर निर्भर है, यह i386 पर काम नहीं करता है।
अंक

1
@ प्रयास स्पष्ट! i386 16/32-बिट्स है। PHP उस के बारे में बहुत picky है। इस काम के लिए, आपको 64-बिट आर्किटेक्चर में होना चाहिए। इसका कारण यह है है ~0है -1जो है, 1111111111111111111111111111111111111111111111111111111111111111की तुलना में, बाइनरी में 64 बिट्स में, 1111111111111111111111111111111132-बिट में, और संख्या plataform पर निर्भर हैं।
इस्माइल मिगेल

@ @आपका स्वागत है। मुझे स्वीकार करना चाहिए कि मैं थोड़ा सुस्त हो गया। मैंने 32 1 का कॉपी-पेस्ट किया है। यदि आप चाहें, तो आप अपने उत्तर पर अपने व्याकरण को थोड़ा ठीक कर सकते हैं।
इस्माइल मिगुएल

6

MATLAB / ऑक्टेव, 22 बाइट्स

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

इसे ऑनलाइन आज़माएं!

eyeएक इकाई मैट्रिक्स बनाने के लिए उपयोग किया जाता है ( 1विकर्ण पर मैट्रिक्स , शून्य अन्यथा)। तर्कों के बिना, यह एक 1x1इकाई मैट्रिक्स बनाता है , या दूसरे शब्दों में, बस एक 1। यह एक वैकल्पिक तर्क लेता है, जो कि निर्मित मैट्रिक्स का डेटा प्रकार ('क्लास' MATLAB शब्दावली में) है। इस प्रकार हम 1कक्षा के लिए पूछते हैं uint64, और इसे शून्य से विभाजित करते हैं, जिसके परिणामस्वरूप InfMATLAB होता है, जो कि क्लिप हो जाता है intmax('uint64')

वेक्टर इसका ['~rw}?='-9 '']मूल्यांकन करता है 'uint64'। सदिश के लिए एक खाली चार्ट को समाप्‍त करना प्रयोग करने की तुलना में 1 बाइट कम है char('~rw}?='-9)

इस उत्तर के प्रति तर्क: अंतर्निहित intmaxदुःख का मूल्यांकन अधिकतम 32 बिट हस्ताक्षरित पूर्णांक से होता है। स्पष्ट अगला विकल्प है uint64(), जिसमें निषिद्ध वर्ण हैं। विकल्प एक फ़ंक्शन का उपयोग करना है जो डेटा प्रकार के रूप में एक स्ट्रिंग लेता है। स्पष्ट उम्मीदवार हैं intmaxऔर cast, लेकिन विकल्प शामिल हैं zeros, onesऔर eye

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.

नोट: MATLAB डिफ़ॉल्ट रूप से सभी डोडी जुआ साइटों पर स्थापित है।


6

जावास्क्रिप्ट, 39 38 33 32 बाइट्स

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

संपादित करें: @Arnauld के लिए 5 बाइट्स सहेजे गए।


2
अलर्ट को हटा दें क्योंकि यह कंसोल में चलाया जा सकता है।
एलेक्सिस टायलर

6

जावा 8, 30 बाइट्स

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

ऑनलाइन टेस्ट करें


लापता जावा "बॉयलरप्लेट" और system.out.print भाग
विक्टर मेलग्रेन

2
@ViktorMellgren यह एक लंबोदर अभिव्यक्ति की घोषणा करता है, जो पूरी तरह से ठीक है।
14

इसके लिए जावा 8 की आवश्यकता है
mbomb007

20
हाँ जावा 8 और ऊपर, कोई और अधिक बॉयलरप्लेट! डर कोडगोल्फर्स! जावा अब एक वास्तविक प्रतियोगी है। यह वह समय है जब आप सभी इस बारे में बहुत डर गए थे, आपकी सभी कोडगॉल्फिंग भाषा कुछ भी नहीं के लिए है! ओह रुको अभी भी 30 बाइट्स, ... छुपाता है
dwana

5
निश्चित रूप से "छोटा समाधान" अवैध पात्रों का उपयोग करता है 1846
नील

5

बीएफ, 108 बाइट्स

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

यदि प्रत्येक कमांड को 3 बिट माना जाता है, तो यह संभावित रूप से 41 बाइट्स है।


3
प्रत्येक कमांड एक बाइट है। 3 बिट्स नहीं।
mbomb007

ठीक है, यही कारण है कि मैंने इसे 108 बाइट्स के रूप में रखा है ...
टाइमटेक

हाँ, लेकिन आपने कहा था "यह संभावित रूप से 41 बाइट्स हैं", जो यह नहीं है।
mbomb007

एक इंटरप्रिटर को 8 कमांड्स में से एक के रूप में 3-बिट समूहों की व्याख्या करने के लिए बनाया जा सकता है+-<>[].,
टाइमटेक

वह पहले से मौजूद है। इसे esolangs.org/wiki/Binaryfuck
mbomb007

5

रेटिना , 28 27 बाइट्स

क्रुति लिथोस को 1 बाइट का धन्यवाद दिया


bieegheeahdhajffbgbf
T`l`d

इसे ऑनलाइन आज़माएं!

व्याख्या


bieegheeahdhajffbgbf

इस स्ट्रिंग के साथ गैर-मौजूद / खाली इनपुट को प्रतिस्थापित करता है। यह विशेष स्ट्रिंग इस प्रोग्राम के "उलटा" द्वारा उत्पन्न किया गया था। यह क्रमशः के माध्यम aसे के jरूप में के 0माध्यम से सांकेतिक शब्दों में बदलना 9

T`l`d

यह एक Tरैन्सेलेरेशन स्टेज है। lऔर dलिप्यंतरण के लिए इस्तेमाल किया वर्ण सेट कर रहे हैं। lलोअरकेस वर्णमाला का प्रतिनिधित्व करता है, dसभी अंक है। तो, यह abcdefghijवापस मैप करता है 0123456789


tio.run/nexus/retina#@8/l5Onq6u7h6uro4eLh6OXm5uTu5MYVkuCTkPL/… 1 बाइट छोटी है (मैं dइसके बजाय इस्तेमाल किया गया EO)
Kritii Lithos

@ कृतिलिथोस ओह यस। मैं अभी भी पूरी तरह से जाग नहीं रहा हूं: पी
बिजनेस कैट

5

सी ++, 46 बाइट्स।

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

पहली बार एक कोड गोल्फ कर रहा हूं, लेकिन मैं खुद से काफी खुश हूं। ख़ुशी से कोई भी आलोचना / सुझाव लेंगे :)


5

ब्रेन-फ्लैक , 64, 62, 58 , 54 बाइट्स

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

इसे ऑनलाइन आज़माएं!

[इसे ऑनलाइन आज़माएं!]

चार बाइट्स @Riley के लिए धन्यवाद बचा लिया!

स्पष्टीकरण:

#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
({}[()])

रिकॉर्ड के लिए, मैंने 32 और चौगुनी पुश करने की कोशिश की, लेकिन यह एक ही बाइट काउंट है।


()64 में से 1 को धकेलने के लिए 64 में से किसी एक का उपयोग करके आप 4 बाइट्स बचा सकते हैं :((((((())()()()){}){}){}){})
रिले

@ रिले आहा, बिल्कुल! धन्यवाद
DJMcMayhem



उम, क्या आप N*2+1इसके बजाय बस नहीं कर सकते (N+1)*2-1?
जो किंग

4

सी # 6, 31 बाइट्स

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

बहुत जावा के समान।

सी # 5, 56 बाइट्स

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

C # 6 का उत्तर केवल एक अनाम क्रिया है, जो C # 5 में भी मौजूद है
TheLethalCoder

इसके अलावा चुनौती केवल आपको संख्या का उत्पादन करने के लिए कहती है ताकि आप इस प्रकार संकलित कर सकें Func<ulong>:()=>~0UL;
TheLethalCoder

यह भी नहीं कहा गया है कि आप किसी भी इनपुट का उपयोग नहीं कर सकते हैं ताकि आप Func<int, ulong>एक बाइट को बचाने के लिए संकलन कर सकें : _=>~0UL;और मुझे लगता है कि यह अभी भी मान्य होगा।
TheLethalCoder

4

फोर्थ (gforth), 11 9 7 बाइट्स

true U.

इसे ऑनलाइन आज़माएं

trueके रूप में ही है -1U.एक अहस्ताक्षरित पूर्णांक के रूप में एक संख्या प्रिंट करता है।

यह TIO पर काम करता है, संभवतः क्योंकि इसमें 64-बिट वास्तुकला है? मुझे यकीन नहीं है। अगर मैं -1 U.repl.it पर चलता हूं, उदाहरण के लिए, मुझे 2 ** 32-1 मिलता है। यदि repl.it ने डबल-लेंथ पूर्णांक का समर्थन किया है, तो आउटपुट उनका उपयोग करेगा UD.


आप शायद इसे कम कर सकते हैं-3 3 / U.
zeppelin

या, और भी बेहतर: true U. (जो अच्छी तरह से तालबद्ध भी करता है)
zeppelin

ओह, मैं भूल trueजाता हूं, क्योंकि मैं उपयोग करने के लिए अभ्यस्त हूं 0और 1। धन्यवाद।
mbomb007

4

पायथन 3 आरईपीएल, 11 बाइट्स

~0^~0>>~077

यह काम किस प्रकार करता है

  • ~ 0 -1 है (दो का पूरक, '1 का अनंत क्रम)
  • अष्टक में 077 63 है, इसलिए ~ 077 -64 है
  • नकारात्मक पैरामीटर के साथ दाईं ओर शिफ्ट बाईं ओर एक शिफ्ट है
  • सभी को एक साथ रखना, -1 xor (-1 << 64) वह संख्या है जिसकी हम तलाश कर रहे हैं

4

पॉवरशेल , 29 14 बाइट्स

0xC000PB/3-3/3

इसे ऑनलाइन आज़माएं!

आधे में अनिवार्य रूप से इसे गोल्फ के लिए @ n0rd के लिए धन्यवाद।

यह इनबिल्ट यूनिरी PBऑपरेटर का लाभ उठाता है जो मूल रूप से "पूर्ववर्ती संख्या को गुणा करें 1125899906842624" (यानी, कितने बाइट्स एक कंकड़ में हैं)। यह हेक्स के साथ मिलकर है 0xC000, या 49152, इसलिए 49152 pebibytes। हम अंतिम मूल्य प्राप्त करने के लिए 3उसको विभाजित , उपज 18446744073709551616और घटाते हैं 3/3


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

2
0xC000PB/3-3/3
n0rd

@ n0rd ओह, यह खतरे की PBतरह है , इस तरह का उपयोग करना। धन्यवाद!
AdmBorkBork

@ n0rd बहुत प्रभावशाली, PPCG में आपका स्वागत है!
Colsw


3

x64 विधानसभा, 7 बाइट्स

हेक्स (इकट्ठे): 4831C048FFC8C3

असंतुष्ट, टिप्पणी:
XOR RAX,RAX ;Zero the value of 64 bit register RAX DEC RAX ;Decrement the value of RAX RET ;Return this value

RAX 64 बिट रजिस्टर है, और इसका उपयोग अक्सर पूर्णांक तर्कों (जैसे, C) को वापस करने के लिए किया जाता है। 1 को घटाकर, इसका मान 0 से ... 2 ^ 64-1 से अधिक हो जाता है, जिसकी वास्तव में आवश्यकता होती है।
हालाँकि, असेंबली बाइनरी में चार और आठ होते हैं, असेंबली नहीं होती है, लेकिन असेंबली फ़ाइल को असेंबली में गिना जाता है, तो क्या यह गणना करता है? आउ, मेरे सिर।
साथ ही, इस मामले में आउटपुट रिटर्न वैल्यू है।


3

ब्रेन-फ्लैक , 223 193 बाइट्स

-A
DJMcMayhem के लिए +1 फॉर -30 धन्यवाद शामिल है

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

इसे ऑनलाइन आज़माएं!

इसने अक्षर के रूप में ASCII और प्रिंट के मूल्यों को धक्का दिया।

संदर्भ के लिए, इंटेगर मेटा गोल्फर का उपयोग करके वास्तविक संख्या उत्पन्न करने के लिए 338 बाइट्स लगते हैं ।

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

इसे ऑनलाइन आज़माएं!


यदि आप स्टैक-ऊंचाई निलाद का लाभ उठाते हैं, तो आप एक गुच्छा बचा सकते हैं []। उदाहरण के लिए: ((((((((((((((((((((((((()()()){}){}()){}){}())[()()()()])[][]())[[]()()])[]))()()()())[[]()()])[][()])[()()()()])()()()())[(()()()){}()])()()()()))()()())[()])[()()]))()()()())[(()()()){}()])(संभवतः अधिक मैं याद कर रहा हूँ)
DJMcMayhem

इसके अलावा, मैं आप के लिए एक बाइट में जोड़ सकते हैं लगता है कि -Aमानक मंगलाचरण पहले से ही शामिल है के बाद से -f, तो यह केवल एक ही बंद है क्या करने के लिए -fAके बजाय
DJMcMayhem

@DJMcMayhem हमने तर्कों के लिए +1 का उपयोग कब शुरू किया? मैं इस बारे में नहीं सोचता था []कि जब मुझे मौका मिलेगा तो मैं उसे देखूंगा। धन्यवाद।
रिले

3

MATL, 8 बाइट्स

l_5Z%EZD

यह शायद सुधार किया जा सकता है, लेकिन मैं अभी तक MATL में तार और प्रकारों से परिचित नहीं हूं।

इसे matl.suever.net पर आज़माएं

स्पष्टीकरण:

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

यह uint64 प्रकार के लिए बाध्य करने के लिए YY5Z% ZD की आवश्यकता होगी, लेकिन मुझे नहीं पता कि सिर्फ काम करने के बजाय 1 5Z% का उपयोग क्यों ...
बी मेहता

आप 8. उपयोग नहीं कर सकते
XNOR

@xnor उफ़, निश्चित।
बी। मेहता

क्या आप matl.suever.net या matl.tryitonline.net का उपयोग करके डेमो लिंक जोड़ सकते हैं ?
Suever

1
@LuisMendo आह, बेशक - मैंने सोचा castथा कि इस्तेमाल किया गया था, लेकिन यह समझ में आता है अगर typecastउपयोग किया जाता है। इसे साफ करने के लिए धन्यवाद।
Sanchises

3

जावास्क्रिप्ट 55 बाइट्स

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

कोड उत्पन्न करता है और फिर बिटवाइज़ ऑपरेशंस का उपयोग करके स्ट्रिंग को 18446744073709551615 पर अलर्ट करता है

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


2588673709551615मेरे लिए दिखाता है ...
n0rd

alert(0xafebff0+'7370955'+(3*59*73>>3))ठीक काम करता है
n0rd

मैं इसे छोड़ रहा हूं क्योंकि यह अब किसी और की नकल करने के बजाय इस्तेमाल की जाने वाली विधि को रखने के लिए है।
f --n 19


2

टीआई-बेसिक, 10 बाइट्स

9+7
Ans^Ans-0!

TI-BASIC इस संख्या की गणना, संग्रह या प्रदर्शन नहीं कर सकता है - केवल तैरने के लिए सटीकता के 14 अंक (लगभग 44 बिट्स) हैं।
lirtosiast
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.