प्रदर्शन संख्या में 2 की कमी है


22

संख्याओं को एक से सौ तक (बढ़ते क्रम में) प्रदर्शित करें, लेकिन क्रमांक 2 कहीं भी अनुक्रम में दिखाई नहीं देना चाहिए। इसलिए, उदाहरण के लिए, संख्या दो ( 2) या तेईस ( 23) अनुक्रम में नहीं होनी चाहिए।

यहां एक उदाहरण आउटपुट है, जिसमें नई संख्याओं को अलग किया गया है:

1
3
4
5
6
7
8
9
10
11
13
14
15
16
17
18
19
30
31
33
34
35
36
37
38
39
40
41
43
44
45
46
47
48
49
50
51
53
54
55
56
57
58
59
60
61
63
64
65
66
67
68
69
70
71
73
74
75
76
77
78
79
80
81
83
84
85
86
87
88
89
90
91
93
94
95
96
97
98
99
100

7
मुझे लगता है कि विजेता मानदंड कोड-गोल्फ सही है?
लुइस फेलिप डी जीसस मुनोज

4
हमारी साइट उसी तरह से काम नहीं करती है जैसे स्टैक एक्सचेंज नेटवर्क से अन्य साइट्स। स्वीकृत उत्तरों के बारे में, कृपया जोनाथन एलन की इस टिप्पणी को ध्यान में रखें। और कृपया एक जीत मानदंड जोड़ें।
अरनौलड

1
क्या मैं पोस्टिंग से पहले आपकी चुनौतियों पर प्रतिक्रिया प्राप्त करने के लिए भविष्य में सैंडबॉक्स का उपयोग करने का सुझाव दूंगा?
जो राजा

1
@ मोनोलिका यदि सबसे छोटा उत्तर जीतता है, तो आपको टैग की आवश्यकता होगी [code-golf]भविष्य के संदर्भ के लिए सभी उपलब्ध विजेता मानदंड के लिए एक सूची यहां दी गई है।
केविन क्रूज़सेन

4
@ user202729 मनमानी प्रतिबंध अवांछित है, अस्वीकृत नहीं है।
जोनाथन फ्रेच

जवाबों:



26

टैक्सी , 2399 2391 2370 1783 1773 1706 बाइट्स

-8 बाइट्स यह महसूस करने के लिए कि, सनी साइड पार्क में एक निश्चित यात्री को हमेशा के लिए छोड़ने के बजाय, रिवर ब्रिज से उन्हें फेंकने के लिए यह अधिक लायक है। आह, यह कितना प्यारा शहर है।

-21 बाइट्स एक टिप्पणी को लेने के लिए मैं बेवकूफी से अंदर छोड़ दिया।

-587 बाइट्स पूरे तरीके से बदलने के बाद मैं इस बारे में चला गया (जाहिरा तौर पर एक छोटा रास्ता अंकगणित से है; पूर्णांक-विभाजन [17, 27, 37, 47, ...) द्वारा 9 अनुक्रम प्राप्त होता है, लेकिन आप पर छोड़ देंगे खुद 20)

-17 बाइट्स को इस अहसास के लिए कि बिना स्पेस के किसी भी कोट्स-एनजेड स्ट्रिंग को कोटेशन की जरूरत नहीं है (धन्यवाद जो किंग)।

-67 बाइट्स इस बोध के लिए कि लाइनब्रेक वैकल्पिक हैं।

17 is waiting at Starchild Numerology.Go to Starchild Numerology:w 1 l 2 r 1 l 1 l 2 l.Pickup a passenger going to Cyclone.Go to Cyclone:e 1 l 2 r.[B]Pickup a passenger going to Cyclone.Pickup a passenger going to Divide and Conquer.9 is waiting at Starchild Numerology.Go to Starchild Numerology:s 2 l 2 r.Pickup a passenger going to Divide and Conquer.Go to Divide and Conquer:e 1 l 2 r 3 r 2 r 1 r.Pickup a passenger going to Trunkers.Go to Trunkers:e 1 r 3 r 1 l.Pickup a passenger going to The Babelfishery.Go to The Babelfishery:e 1 r 1 r.Pickup a passenger going to Post Office.\n is waiting at Writer's Depot.Go to Writer's Depot:n 5 l 2 l.Pickup a passenger going to Post Office.Go to Post Office:n 1 r 2 r 1 l.Go to Cyclone:s 1 r 1 l 2 r.Pickup a passenger going to Addition Alley.Pickup a passenger going to Equal's Corner.177 is waiting at Starchild Numerology.Go to Starchild Numerology:s 2 l 2 r.Pickup a passenger going to Equal's Corner.Go to Equal's Corner:w 1 l.Switch to plan C if no one is waiting.Pickup a passenger going to Sunny Skies Park.100 is waiting at Starchild Numerology.Switch to plan D.[C]10 is waiting at Starchild Numerology.[D]Go to Starchild Numerology:n 1 r.Pickup a passenger going to Addition Alley.Go to Sunny Skies Park:w 1 r.Go to Addition Alley:n 1 r 1 r 1 r.Pickup a passenger going to Cyclone.Go to Cyclone:n 1 l 1 l.Pickup a passenger going to Cyclone.Pickup a passenger going to Equal's Corner.917 is waiting at Starchild Numerology.Go to Starchild Numerology:s 2 l 2 r.Pickup a passenger going to Equal's Corner.Go to Equal's Corner:w 1 l.Switch to plan E if no one is waiting.Switch to plan F.[E]Go to Go More:n 1 l.Go to Cyclone:w 1 r.Switch to plan B.[F]

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

यह मुझे कभी भी जल्द ही किसी भी कोड गोल्फ प्रतियोगिताओं में नहीं जीत रहा है, लेकिन मैंने एसोलंग टैक्सी की कोशिश करने का फैसला किया।

टैक्सी एक एसोलंग है जिसमें टाउनबर्ग के काल्पनिक शहर में विभिन्न स्टॉप पर यात्रियों को उठाकर और उतारकर सभी प्रोग्रामिंग की जाती है। बेशक, आपका टैक्सीकाब कभी-कभी गैस से बाहर निकल जाएगा, इसलिए आपको हर बार गैस स्टेशनों का दौरा करने की आवश्यकता होती है, और आपको प्राप्त होने वाले क्रेडिट का उपयोग करके किराया के रूप में भुगतान करना होगा (इस मामले में, मुझे केवल गैस के लिए रुकना होगा - गो मोर पर - एक बार पाश पुनरावृत्ति!)।

मैं कुछ चाल, इस तरह की तरह दिशाओं अलग ढंग से व्यक्त के रूप में है कि फ़ाइल आकार थोड़ा कम करने के लिए इस्तेमाल किया east 1st left, 2nd rightके रूप में e 1 l 2 r, शब्द को हटाने theजहां यह वैकल्पिक है, और (सबसे छोटा रास्ता जरूरी नहीं) मेरी स्थलों में से सभी के प्रति कम से कम जटिल मार्ग का उपयोग कर।

मैं इस छोटे से समाधान से घृणा करता हूं जो मैं मूल रूप से आया था। यहां यह समाधान कार्य को पूरा करने का एक अधिक सामान्य तरीका है, जो आप चाहते हैं कि कहीं भी शुरू और समाप्त हो सकता है। यहाँ यह अपनी संपूर्णता में है।

2245 बाइट्स (अधिक सामान्य तरीके से)

1 is waiting at Starchild Numerology.Go to Starchild Numerology:w 1 l 2 r 1 l 1 l 2 l.Pickup a passenger going to Cyclone.Go to Cyclone:e 1 l 2 r.[B]Pickup a passenger going to Addition Alley.Pickup a passenger going to The Babelfishery.Go to The Babelfishery:n 2 r 2 r.Pickup a passenger going to Cyclone.Go to Cyclone:n 5 l 2 l.Pickup a passenger going to Chop Suey.Go to Zoom Zoom:n.0 is waiting at Writer's Depot.Go to Writer's Depot:w.Pickup a passenger going to Narrow Path Park.Go to Narrow Path Park:n 3 r 1 l 1 r.Go to Chop Suey:e 1 r 1 l 1 r.[C]Switch to plan E if no one is waiting.Pickup a passenger going to Crime Lab.2 is waiting at Writer's Depot.Go to Writer's Depot:n 1 l 3 l.Pickup a passenger going to Crime Lab.Go to Crime Lab:n 3 r 2 r.Switch to plan D if no one is waiting.Pickup a passenger going to KonKat's.Go to Narrow Path Park:n 5 l.Pickup a passenger going to KonKat's.Go to KonKat's:e 1 r.Pickup a passenger going to Narrow Path Park.Go to Narrow Path Park:n 2 l.Go to Chop Suey:e 1 r 1 l 1 r.Switch to plan C.[D]Go to Chop Suey:n 5 r 1 l.Switch to plan C.[E]Go to Narrow Path Park:n 1 l 1 r 1 l.Pickup a passenger going to Crime Lab.0 is waiting at Writer's Depot.Go to Writer's Depot:w 1 l 1 r 2 l.1 is waiting at Starchild Numerology.Pickup a passenger going to Crime Lab.Go to Crime Lab:n 3 r 2 r.Switch to plan F if no one is waiting.Pickup a passenger going to Riverview Bridge.Go to Cyclone:n 4 l 2 l.Pickup a passenger going to Post Office.Go to Riverview Bridge:n 2 r.\n is waiting at Writer's Depot.Go to Writer's Depot:w 2 l.Pickup a passenger going to Post Office.Go to Post Office:n 1 r 2 r 1 l.Go to Starchild Numerology:s 1 r 1 l 1 l 2 l.Switch to plan G.[F]Go to Cyclone:s 1 r 1 l 2 r.Pickup a passenger going to Riverview Bridge.Go to Riverview Bridge:n 2 r.Go to Starchild Numerology:w 2 l 3 l 2 r.[G]Pickup a passenger going to Addition Alley.Go to Addition Alley:e 1 l 2 r 3 r 1 r.Pickup a passenger going to Magic Eight.101 is waiting at Starchild Numerology.Go to Starchild Numerology:n 1 l 1 l 3 l 2 r.Pickup a passenger going to Magic Eight.Go to Magic Eight:w 1 r 2 r 1 r.Switch to plan H if no one is waiting.Pickup a passenger going to Cyclone.Go to Cyclone:n 1 l 2 r.Switch to plan B.[H]

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

और अगर मेगा-चीटिंग की अनुमति दी जाती है, तो यह एक रास्ता पिछले दो में से भी छोटा है।

456 बाइट्स (पूरी तरह से धोखा)

1\n3\n4\n5\n6\n7\n8\n9\n10\n11\n13\n14\n15\n16\n17\n18\n19\n30\n31\n33\n34\n35\n36\n37\n38\n39\n40\n41\n43\n44\n45\n46\n47\n48\n49\n50\n51\n53\n54\n55\n56\n57\n58\n59\n60\n61\n63\n64\n65\n66\n67\n68\n69\n70\n71\n73\n74\n75\n76\n77\n78\n79\n80\n81\n83\n84\n85\n86\n87\n88\n89\n90\n91\n93\n94\n95\n96\n97\n98\n99\n100 is waiting at Writer's Depot.Go to Writer's Depot:w 1 l 2 r 1 l 2 l.Pickup a passenger going to Post Office.Go to Post Office:n 1 r 2 r 1 l.

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


वह उद्धरण बात एक सहायक है, धन्यवाद। हालांकि, मैं "टैक्सी गैराज में जाने की जरूरत नहीं है" से असहमत हूं। क्या किसी त्रुटि की अनुमति है? मुझे इस पर सामान्य नियमों का एक अच्छा सेट नहीं मिल रहा है।
जोसियाहैन

हाँ, आमतौर पर STDERR की अनदेखी की जाती है। प्रासंगिक मेटा
जो किंग

मेरे कुछ उत्तर इससे लाभान्वित हो सकते हैं।
जोशियाहैन

22

पायथन 2 , 39 बाइट्स

k=7
exec"k+=10;print(k>177)*10+k/9;"*81

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

केवल 2 के बिना संख्या उत्पन्न करने के लिए अंकगणितीय संचालन का उपयोग करता है।

मान kअंकगणितीय प्रगति का अनुसरण करता है 17, 27, 37, 47, ..., जो जब 9 से फर्श-विभाजित होता है 1,3,4,5,6,7,8,9,10,11,13,14,...जो 2 में समाप्त होने वाली संख्याओं की गणना नहीं करता है। 29 के माध्यम से 20 को छोड़ने के लिए, आउटपुट एक निश्चित सीमा से 10 गुना बढ़ जाते हैं।


14

जावास्क्रिप्ट (ईएस 6), 43 बाइट्स

अनुक्रम को अल्पविराम-पृथक स्ट्रिंग के रूप में देता है।

f=(n=98)=>n?f(n-=n-27?n%10?1:2:11)+[,n+3]:1

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

ऐसा क्यों कर रहे हैं?

हम 1 से 100 तक पुनरावृत्ति कर सकते हैं और प्रत्येक संख्या का परीक्षण कर सकते हैं /2/.test(n), जो एक संक्षिप्त विवरण है। लेकिन इस परिदृश्य में, हमें कुछ के साथ खाली प्रविष्टियों को संभालना होगा (/2/.test(n)?'':...), जो कुछ और बाइट्स जोड़ता है।

उदाहरण के लिए, यह 45 बाइट्स के लिए काम करेगा :

f=(n=1)=>n>99?n:(/2/.test(n)?'':[n,,])+f(n+1)

या यह 44 बाइट्स के लिए काम करेगा , अगर एक प्रमुख अल्पविराम स्वीकार्य है:

f=(n=100)=>n?f(n-1)+(/2/.test(n)?'':[,n]):''

सभी सभी में (और अन्यथा तक सिद्ध नहीं), यह ठीक से n कि एन के सभी मूल्यों को छोड़ दें , जिसमें 2 शामिल हैं ।

टिप्पणी की गई

f =                 // f is a recursive function taking:
(n = 98) =>         // n = counter, initialized to 98
  n ?               // if n is not equal to 0:
    f(              //   prepend the result of a recursive call:
      n -=          //     update n:
        n - 27 ?    //       if n is not equal to 27:
          n % 10 ?  //         if n is not a multiple of 10:
            1       //           subtract 1 from n
          :         //         else:
            2       //           subtract 2 from n
        :           //       else (n = 27):
          11        //         subtract 11 from n (--> 16)
    ) +             //   end of recursive call
    [, n + 3]       //   append a comma, followed by n + 3; notice that this is the value
                    //   of n *after* it was updated for the recursive call; at the first
                    //   iteration, we have: n = 98 -> updated to 97 -> n + 3 = 100
  :                 // else (n = 0):
    1               //   output the first term '1' and stop recursion

1
यह बहुत अच्छा है!
एमिग्ना

1
अगर हम एक अग्रणी अल्पविराम लगा सकते हैं, तो 41 चालें अपनी चाल का उपयोग करें
ओलिवर

12

आर , 19 बाइट्स

grep(2,1:100,inv=T)

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


grep(2,1:100,inv=T)19. के लिए
जे

2
हा - यह वही था जो मैंने पहली बार कोशिश की थी लेकिन साथ v=Fही साथ क्योंकि जाहिर है, मैंने खुद से सोचा था, मैं मूल्यों को चाहता हूं न कि सूचकांकों को !
एन जी एम

रेगेक्स को इन्वर्ट करना अपने आप में एक बाइट छोटा है (इस मामले में)।
एनएमसी

काम नहीं करता है, अभी भी 2s अतीत देता है। आप की जरूरत है ^[^2]*$जो उम, कम नहीं है।
जे। डो।

4
क्या, अब हम अपने उत्तरों की जाँच करने वाले हैं?
एनएमसी


10

पर्ल 6 , 22 बाइट्स

put grep {!/2/},1..100

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

कोड ब्लॉक करने के लिए शायद एक बेहतर तरीका है, लेकिन मैं मैच को पलटने के लिए एक regex क्रिया विशेषण नहीं ढूँढ सका


संख्याओं के आसपास कोष्ठक हटा दें। नहीं तो ठीक है।
मोनोलिका

@ मोनोलिका फिक्स्ड
जो किंग

1
@ मोनोलिका यह थोड़ा अजीब लगता है कि आपने मेरे उत्तर को एक सूची के रूप में छापने की अनुमति नहीं दी, जहां इतने सारे अन्य उत्तर ऐसा था। दूसरी ओर, यह मुझे किसी भी बाइट खर्च नहीं करता है, तो जो भी
जो राजा

7

पॉवरशेल , 22 16 बाइट्स

1..100-notmatch2

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

-6 बाइट्स mazzy के लिए धन्यवाद

1करने के लिए सीमा उत्पन्न करता है 100, फिर उन वस्तुओं को बाहर निकालता है जहां वे -notmatchसंख्या करते हैं 2-notmatchइस तरह एक सरणी के खिलाफ चल रहा है सरणी पर एक फिल्टर की तरह काम करता है। प्रत्येक आइटम पाइपलाइन पर छोड़ दिया जाता है, और आउटपुट निहित है।


? 1..100-notmatch2
माज़ी

@mazzy बेशक, मैंने ऐसा क्यों नहीं सोचा? धन्यवाद!
AdmBorkBork

6

हास्केल , 48 33 31 बाइट्स

धन्यवाद @JonathanFrech पंद्रह बाइट्स के लिए, और @xnor एक और दो के लिए! मैं एक बड़े गोल्फ से चूक गया और एहसास नहीं हुआ कि main=print$छोड़ा जा सकता है।

filter(all(/='2').show)[1..100]

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

आसानी से बदलकर बढ़ाया गया 100। सभी नंबरों को स्ट्रिंग करता है और केवल उन को बिना रखता है '2'


इसे देखें ; main=print$आवश्यक नहीं है। क्या आपने अपने कोड का परीक्षण किया है? मुझे नहीं लगता कि elem'2'यह मान्य सिंटैक्स है। क्यों map? बस filter(not.elem '2'.show)[1..100]काम करता है।
जोनाथन फ्रीच

@JonathanFrech वाह, चूक गए। : / कोई सुराग नहीं कि वह स्थान कहाँ गया! यह
टीआईओ में है

2
हास्केल के notElemलिए है not.elem, लेकिन यहां तक ​​कि कम है all(/='2')
xnor



5

जावा 10, 67 बाइट्स

v->{for(int i=0;++i<101;)if(i%10!=2&i/10!=2)System.out.println(i);}

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

स्पष्टीकरण:

v->{                           // Method with empty unused parameter and no return-type
  for(int i=0;++i<101;)        //  Loop `i` in the range (0, 101)
    if(i%10!=2                 //   If `i` modulo-10 is not 2
       &i/10!=2)               //   And `i` integer-divided by 10 is not 2 either
      System.out.println(i);}  //    Print `i` with a trailing newline

5

रेटिना , 19 17 बाइट्स


100*
.
$.>`¶
A`2

इसे ऑनलाइन आज़माएं! संपादित करें: @ovs के लिए 2 बाइट्स सहेजे गए, हालांकि अंतिम पंक्ति में अब एक नई पंक्ति शामिल है। स्पष्टीकरण:


100*

100 अक्षर डालें।

.
$.>`¶

प्रत्येक वर्ण को वर्णों की संख्या के साथ बदलें और उस वर्ण को शामिल करें, साथ ही एक नई पंक्ति।

A`2

सभी प्रविष्टियों को निकालें जिसमें एक है 2


क्या . $.>`¶दूसरे चरण के लिए काम करता है ?
ovs

@ मेरे पास पहले से अधिक जटिल कुछ था और L$एक अग्रणी नई रेखा से बचने के लिए स्विच किया गया था, इसलिए मुझे एहसास नहीं हुआ कि मैं वापस स्विच कर सकता हूं, धन्यवाद।
नील

4

स्टैक्स , 6 बाइट्स

Ç░τ╒╜h

इसे चलाएं और डीबग करें

अनपैक्ड, अनगुल्फेड और टिप्पणी की गई, यह इस तरह दिखता है।

AJ  10 squared
f   output each value in [1 .. n] satisfying the following filter
 E  get array of decimal digits in number
 2#     count the number of 2s
 !  logical not

इसको चलाओ


4

वोल्फ्राम भाषा (गणितज्ञ) , 42 बाइट्स

Print@⌈Range[1,100,10/9]~Drop~{18,26}⌉

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

अंकगणितीय अनुक्रम 1, 19/9, 29/9, 39/9, ... सिर्फ सही दर से बढ़ता है जो छत को 2 में समाप्त होने वाली सभी संख्याओं को छोड़ देता है। फिर हम Dropमूल्यों को पिंग करके 29 के माध्यम से 20 से छुटकारा पा लेते हैं। सूचकांक 26 के माध्यम से 18 पर।


मुझे नहीं पता कि आम सहमति है कि Printआवश्यक है, लेकिन जो वास्तव में परवाह करता है, वैसे भी।
मिशा लावरोव

[...] लेकिन वास्तव में कौन परवाह करता है। - यही भावना है ...
जोनाथन फ्रीच

क्या \[LeftCeiling]और \[RightCeiling]वास्तव में एक ही बाइट के रूप में गिना जाता है :)
user6014

@ user6014 मैं उन्हें 3 बाइट्स के रूप में गिन रहा हूं जो उन्होंने यूनिकोड में लिया है, लेकिन यह अभी भी वास्तविक Ceilingकमांड की तुलना में थोड़ा सस्ता है ।
मीशा लावरोव

@MishaLavrov उचित लगता है! नीट समाधान।
user6014

4

सी (जीसीसी) , 62 55 बाइट्स

• 7 बाइट्स जोनाथन फ्रेच के लिए धन्यवाद

f(n){for(n=0;++n-101;n/10-2&&n%10-2&&printf("%d,",n));}

1 से 100 तक लूप और संख्या केवल तभी प्रिंट करता है जब 2 उन या दसियों स्थान पर न हो।

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



@JonathanFrech धन्यवाद जो चतुर है!
सोते हुए

4

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

1..100-split'.*2.*'

यह स्क्रिप्ट 'अंदर 2 के साथ संख्या' के बजाय अशक्त-मूल्य दिखाती है और कार्य को पूरी तरह से हल करती है 'क्रम 2 कहीं भी अनुक्रम में नहीं दिखना चाहिए।'

आउटपुट:

1


3
4
5
6
7
8
9
10
11


13
14
15
16
17
18
19




















30
31


33
34
35
36
37
38
39
40
41


43
44
45
46
47
48
49
50
51


53
54
55
56
57
58
59
60
61


63
64
65
66
67
68
69
70
71


73
74
75
76
77
78
79
80
81


83
84
85
86
87
88
89
90
91


93
94
95
96
97
98
99
100

पावरहेलसेल (आउटपुट में शून्य-मान नहीं हैं), 24 बाइट्स

1..100-split'.*2.*'-ne''

4

श + कोरुटिल्स, 16 वर्ण

seq 100|sed /2/d

1 से 100 (समावेशी) से अनुक्रम उत्पन्न करता है और उन में से किसी भी लाइन को हटाता है जिसमें '2' है।



ओह बकवास, उस एक को नहीं देखा, भले ही मैंने जाँच की। क्या मुझे इसे हटा देना चाहिए क्योंकि बाद में मेरा पोस्ट किया गया था?
थेरैल्फेरचैड

4

Z80Golf , 49 48 बाइट्स

00000000: 1630 2e0a 5faf f57b fe02 2818 82ff f182  .0.._..{..(.....
00000010: ff92 3cf5 7dff f1bd 280a fe02 2803 f518  ..<.}...(...(...
00000020: e63c 18fa 7b3c bd20 db3e 31ff 3dff ff76  .<..{<. .>1.=..v

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

सभा:

ld d, 30h			; ascii '0' character
ld l, 0Ah			; number 10 and ascii newline
tens:
	ld e,a			; store tens digit
	xor a			; reset ones digit to 0
	push af			; store initial ones digit 0
	ones:
		ld a,e		; get stored tens digit
		cp 2
		jr z,cont	; if tens digit==2(e.g.20-29),skip loop
		add d
		rst 38h 	; print tens digit
		pop af		; get stored ones digit
		add d
		rst 38h 	; print ones digit
		sub d
		inc a		; increment ones digit
		push af		; store ones digit
		ld a, l
		rst 38h 	; print newline
		pop af		; get stored ones digit again
		cp l
		jr z,cont	; if ones digit==10, break loop
		cp 2
		jr z,inc_again	; if ones digit==2, incr again
		repeat_loop:
		push af		; store ones digit again
		jr ones		; repeat print loop
		inc_again:
			inc a
			jr repeat_loop
		
	cont:
	ld a,e			; get stored tens digit
	inc a			; increment tens digit
	cp l
	jr nz, tens		; if tens place!=10, continue loop
ld a,31h
rst 38h				; print '1'
dec a
rst 38h				; print '0'
rst 38h				; print '0'
halt

repeat_loopकूदने के साथ एक बाइट को बचाया


4

पायथन 3 , 53 51 50 49 46 बाइट्स

['2'in str(n)or print(n)for n in range(1,101)]

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

इस कार्य के लिए सबसे मजबूत भाषा नहीं है, लेकिन मैं गोल्फ के लिए नया हूं।

टिप्पणीकारों को उनकी युक्तियों के लिए धन्यवाद!


PPCG में आपका स्वागत है! इससे पहले कि आप उस स्थान को हटाकर इसे 50 राउंड तक ले जाएं if
एलपीड्रो

[print(n)for n in range(1,101)if"2"not in str(n)]काम करता है।
जोशियाहैन

वैकल्पिक रूप से, पायथन 2 के उत्तर में से एक पर आधारित:n=17;exec("print((n>177)*10+n//9);n+=10;"*81)
जोसिहैन्यान

@JosiahRyanW मैं अंतर्निहित प्रिंट के बारे में पता नहीं था, धन्यवाद!
गीगाफ्लॉप

1
'2'in str(n)or print(n)एक समझदार गार्ड से कम है।
जोनाथन फ्रेच

4

Tcl , 44 बाइट्स

time {if ![regexp 2 [incr i]] {puts $i}} 100

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


Tcl , 47 बाइट्स

time {if [incr i]%10!=2&$i/10!=2 {puts $i}} 100

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

Tcl , 50 बाइट्स

time {if {2 ni [split [incr i] ""]} {puts $i}} 100

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


# Tcl , 49 बाइट्स time {if [string f 2 [incr i]]==-1 {puts $i}} 100 - फेल हुए आउटगोल्फ!
सर्गियोल

आप अपने परीक्षण को regexp: ![regexp 2 [incr i]]3 बाइट्स के लिए
david

@david यह कैसे संभव था कि मैं आपके द्वारा नियमित अभिव्यक्ति का उपयोग करके सुझाए गए समाधान के साथ नहीं आया था? धन्यवाद।
सर्गिओल


3

बैश , 31 बाइट्स

printf %d\\n {1..100}|grep -v 2

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

शॉर्ट लूप के लिए डिजिटल ट्रॉमा का धन्यवाद।


1
PPCG में आपका स्वागत है! कैसे echo $iप्रिंट के बजाय के बारे में ? या इससे भी बेहतर printf %d\\n {1..100}|grep -v 2?
डिजिटल ट्रामा

हाँ सही। मैं अपना जवाब अपडेट करूंगा।
कीटोन

मैं वास्तव में सीख रहा हूँ मैं नहीं जानता कि बहुत धन्यवाद btw।
कीटोन

बस मेरी धड़कनecho {1..100}|tr ' ' \\n|grep -v 2
मार्क पेरीमैन

-1 बाइट अगर आप sed /2/dइसके बजाय इस्तेमाल करते हैं grep -v 2
रुसलान

3

ORK , 1092 बाइट्स

There is such a thing as a t
A t can w a number
A t can d a number
A t has a t which is a number

When a t is to w a number:
I have a mathematician called M
M's first operand is the number
M's second operand is 1
M is to add
The number is M's result
My t is 0
I have a number called n
n is the number
I am to d n
M's first operand is my t
M's second operand is 1
M is to compare
I have a scribe called W
If M says it's less then W is to write the number
If M says it's less then W is to write " "
M's first operand is the number
M's second operand is 100
M is to compare
If M says it's less then I am to loop

When a t is to d a number:
I have a mathematician called M
M's first operand is the number
M's second operand is 10
M is to modulo
I have a mathematician called N
N's first operand is M's result
N's second operand is 2
N is to compare
If N says it's equal then my t is 1
M is to divide
The number is M's result
M's first operand is the number
M's second operand is 0
M is to compare
If M says it's greater then I am to loop

When this program starts:
I have a t called T
T is to w 0

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

हे bjects आर कश्मीर ool। आउटपुट संख्याओं की एक अंतरिक्ष-सीमांकित सूची है।

यह निम्नलिखित छद्मकोश का अनुवाद (लगभग) करता है:

class t {
	int t;
	
	void w(number) {
		label T_W;
		mathematician M;
		M.first_operand = number;
		M.second_operand = 1;
		M.add();
		number = M.result;
		t = 0;
		int n = number;
		d(n);
		M.first_operand = t;
		M.second_operand = 1;
		M.compare();
		scribe W;
		if M.its_less { W.write(number); }
		if M.its_less { W.write(" "); }
		M.first_operand = number;
		M.second_operand = 100;
		M.compare();
		if M.its_less { goto T_W; }
	}
	
	void d(number) {
		label T_D;
		mathematician M;
		M.first_operand = number;
		M.second_operand = 10;
		M.modulo();
		mathematician N;
		N.first_operand = M.result;
		N.second_operand = 2;
		N.compare();
		if N.its_equal { t = 1; }
		M.divide();
		number = M.result;
		M.first_operand = number;
		M.second_operand = 0;
		M.compare();
		if M.its_greater { goto T_D; }
	}
}

void main() {
	t T;
	T.w(0);
}

जैसा कि आप देख सकते हैं, सब कुछ वस्तुओं का उपयोग करके किया जाता है, जिसमें मूल गणित और IO फ़ंक्शन (अंतर्निहित गणितज्ञ और मुंशी वर्गों के माध्यम से) शामिल हैं। केवल पूरे फ़ंक्शन लूप कर सकते हैं, जो काम करने के लिए दो कार्यों के साथ एक वस्तु की आवश्यकता की व्याख्या करता है।




3

PHP 7.1, 40 बाइट्स

while($i++<100)strstr($i,50)||print$i._;

प्रिंट संख्या अंडरस्कोर से अलग हो जाती है। इसे ऑनलाइन चलाएं -nrया इसके लिए प्रयास करें


संख्या को अलग करने के लिए PHP के निराला व्यवहार का अच्छा उपयोग, lol
रॉबर्टो

1
preg_filter()आधारित एक रोचक है। (मुझे लगता है कि समारोह इस्तेमाल कभी नहीं किया 🤫।) एक के साथ कम हो जाएगा कि preg_grep(): <?=join(_,preg_grep("/2/",range(1,100),1));
मैनटवर्क


2

ब्रेनफक , 176 बाइट्स

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

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

शॉर्टर निश्चित रूप से संभव है। यह संख्या 1,3,4,5,6,7,8,9और उत्पन्न करता है 0,1,3,4,5,6,7,8,9। पहले यह प्रत्येक नंबर को पहली सूची में आउटपुट करता है, फिर यह पहली और दूसरी सूची के हर संयोजन को आउटपुट करता है, फिर अंत में सिर्फ प्रिंट करता है100

स्पष्टीकरण:

---------   Push minus 9
[           Repeat 9 times
  [-<]-[>]    Add the negative of the number to the first list
  >[>]-[-<]<  Add the negative of the number to the second list
  ++          Increment the counter
]
Tape: 255 254 253 252 251 250 249 248 247 0' 0 246 247 248 249 250 251 252 253 254
-[>-<+++++++++]>--  Push 197
Tape: 255 254 253 252 251 250 249 248 247 0 197' 246 247 248 249 250 251 252 253 254
[
  >[->]<    Subtract 197 from every element in both lists to convert to digits
  [<<<]>>
  [->]>-
]
Tape: 58 57 56 55 54 53 52 51 49 0' 49 50 51 52 53 54 55 56 57
<<,<-[-<]>[>]<  Remove the 0 and the 2 from the first list
Tape: 58 57 56 55 54 53 52 51 0 0 0' 49 50 51 52 53 54 55 56 57
[  Loop over the first list
  .[->+<]        Print digit
  ++++++++++.,<  Print a newline
]
>>[>]>>->-   Remove the 2 from the second list
<<<<      
[  Loop over first list
  >>>
  [  Loop over second list
    <<[<]<.        Print first digit
    >>[>]>.        Print second digit
    [-<+>]         Move second digit over one
    ++++++++++.,>  Print a newline
  ]
  <<[<]<,<  Remove the digit from the first list and move to the next
]
>>>>.<..  Print 100 using the second list

2

SimpleTemplate , 51 बाइट्स

यह एक मजेदार चुनौती थी! और यह एक चुनौती है जहां मेरी भाषा अच्छा कर सकती है।

{@forfrom 1to100}{@if_ is notmatches"<2>"}{@echol_}

1 से 100 तक सभी मानों के बीच चक्र, जो 2 नहीं है, उन्हें एक नई रेखा से अलग करते हुए आउटपुट करते हैं।

आप इसे http://sandbox.onlinephpfunctions.com/code/2c97a2b6954c29844f1079938da771d51e2e0d99 पर आज़मा सकते हैं

Ungolfed:

{@for i from 1 to 100}
    {@if i is not matches "<2>"}
        {@echo i, "\n"}
    {@/}
{@/}

{@/}बंद करने के लिए प्रयोग किया जाता है {@for ...}और {@if ...}है, लेकिन वैकल्पिक है।
PHP को संकलित करते समय, यह आवश्यक समापन जोड़ता है।


यदि आप उत्सुक हैं, तो इस PHP कोड में गोल्फ कोड परिणाम:

// {@forfrom 1to100}
// ~ optimization enabled ~ inlining the results
foreach(array(...) as $DATA['_']){

    // {@if_ is notmatches"<2>"}
    if(!(preg_match("<2>", (isset($DATA['_'])?$DATA['_']:null)))) {

        // {@echol_}
        echo implode('', $FN['array_flat']((isset($DATA['_'])?$DATA['_']:null)));echo PHP_EOL;


// AUTO-CLOSE
};};

$FN['array_flat']इस कोड के बाहर कहां परिभाषित किया गया है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.