कृपया मुझे एक आइकॉफ़ स्कूप करें


13

कृपया मुझे एक आइकॉन शंकु बनाओ

न्यू इंग्लैंड में हमारे पास यहां एक महान आइसक्रीम स्थल हैं। उनमें से ज्यादातर अब सर्दियों के लिए बंद हैं, इसलिए ...

   .-@@-.
  (======)
 (--------)
(==========)
(__________)
 \/\/\/\/\/
  \/\/\/\/
   \/\/\/
    \/\/
     \/

लक्ष्य उत्पादन ऊपर icecream शंकु बिल्कुल। (या इसे एक समारोह से वापस)

यह कोड गोल्फ है इसलिए सबसे कम उत्तर जीतता है


यह एक विचित्र चुनौती की तरह प्रतीत होता है, बस इसे अमल में नहीं लाना है कि एक स्ट्रिंग के रूप में तकनीकी रूप से जेएस / पाइथन जैसी कुछ व्याख्या की गई भाषाओं के लिए एक समाधान हो सकता है?
याकूब

2
@JacobPersi यह एक क्लासिक कोलमोगोरोव-जटिलता चुनौती है, जहां उद्देश्य दिए गए स्ट्रिंग को जितना संभव हो सके संपीड़ित करना है, हार्डकोडिंग शायद बहुत अधिक गोल्फ नहीं है
श्री एक्सकोडर

6
@MichaelDorgan में कोड गोल्फ के लिए कई भाषाओं का आविष्कार किया गया था, लेकिन इससे आपको उत्पादन भाषाओं में जवाब देने से हतोत्साहित नहीं होना चाहिए - यहाँ यह दिलचस्प जवाबों को उभारने का सुझाव दिया गया है, और iCeCrEaMCoNeइनमें से एक का जवाब नहीं होगा। इस साइट के पास एक नियम भी था जिसका उपयोग आप चुनौती की तुलना में किसी भाषा में जवाब नहीं दे सकते (/ एक सुविधा का उपयोग कर सकते हैं), लेकिन इसे "तुच्छ उत्तर न दें" से बदल दिया गया। आखिरकार, ये गोल्फ भाषाएँ केवल मनोरंजन के लिए मौजूद हैं :)
dzima

3
समझ लिया। मैंने हाल ही में आर्म असेंबलर में एक का जवाब दिया। स्पष्ट रूप से जीतने के लिए नहीं जा रहा है, लेकिन मज़ा कोई भी कम नहीं है :)
माइकल डोरगन

1
@StevenH। यहाँ मेटा पोस्ट है - यह कुछ हद तक पुराना है, लेकिन बहुतों ने अभी भी इसे नहीं देखा है
dzaima

जवाबों:


10

SOGL V0.12 , 24 बाइट्स

u%⅝⁾⁷‰┘Η:⅛6s⁹№K⌠RΝīL°‘§╬

यह कोशिश करो!

एक सरल संपीड़न समाधान:

....‘    push "@-.¶===(¶----(¶=====(¶_____(¶\/\/\¶/\/\¶\/\¶/\¶\"
     §   pad with spaces and reverse horizontally
      ╬  palindromize with 0 overlap and mirroring the characters

कोई सम्पीडन संस्करण - लंबे समय तक SOGLs संपीड़न इस के लिए अच्छा काम करता है



8

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

"   .-@@-.
  (======)
 (--------)
($('='*10))
($('_'*10))"
1..5|%{" "*$_+'\/'*(6-$_)}

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

या

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

"   .-@@-.
  (======)
 (--------)"
'=','_'|%{"($($_*10))"}
1..5|%{" "*$_+'\/'*(6-$_)}

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

अपना चयन ले लो। दोनों ही मामलों में, पहली तीन पंक्तियों में पॉवरशेल में किसी भी तरह का कम्प्रेशन करने के लिए पर्याप्त बाइट्स नहीं हैं।

पहला मामला 10-लंबाई =और _रेखाओं में से प्रत्येक का उत्पादन करने के लिए स्ट्रिंग गुणन का उपयोग करता है , जबकि दूसरा एक लूप और स्ट्रिंग गुणन का उपयोग करता है। या तो मामले में, अंतिम पंक्ति शंकु का निर्माण करती है, से पाशन 1के लिए 5और प्रत्येक यात्रा रिक्त स्थान की उचित संख्या outputting कोन टुकड़े की उचित संख्या के बाद।

उन सभी तारों को पाइप लाइन पर छोड़ दिया जाता है, और Write-Outputकार्यक्रम पूरा होने पर निहित हमें मुफ्त में तत्वों के बीच एक नई रेखा देता है।



7

चारकोल , 29 बाइट्स

@-.⸿E=-=⁺×ι⁺³κ)×_⁵P↙⁶)⸿‖M←¤/\

इसे ऑनलाइन आज़माएं! लिंक कोड के वर्बोज़ संस्करण के लिए है। स्पष्टीकरण:

@-.⸿

पहली पंक्ति के दाईं ओर प्रिंट करें।

E=-=⁺×ι⁺³κ)

प्रत्येक वर्ण के लिए =-=, प्रत्येक बाद के वर्ण के लिए पहली बार और अतिरिक्त समय के लिए 3 बार दोहराएं, फिर )प्रत्येक पंक्ति को प्रत्येक पंक्ति में मुद्रित करते हुए, संलग्न करें ।

×_⁵

प्रिंट 5 _एस।

P↙⁶

शंकु के किनारे को प्रिंट करें।

)⸿

अंतिम प्रिंट करें )और शंकु के अंदर कर्सर को स्थिति दें।

‖M←

आधा शंकु दर्पण।

¤/\

शंकु के शरीर को भरें।


7

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

n=10
while n:print['\/'*n,'('+35/n*2*'-=_='[n%4]+')','.-@@-.'][-2%n/4].center(12);n-=1

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

लिन के समाधान से काम करना ।


-2%n/4बहुत अच्छा है :) क्या आप उस तरह के भावों को मैन्युअल रूप से खोजते हैं, या किसी प्रकार की जानवर बल खोज चलाते हैं?
लिन

1
@ लियोन मैं एक ब्रूट-फोरसर चला। मैंने वह भी किया 35/n*2, जिसके लिए यह पाया गया 5*7/n*2क्योंकि यह मल्टीडिजिट संख्याओं के बारे में नहीं जानता है।
xnor

1
ओह, यह साफ है। मुझे सोर्स कोड देखना अच्छा लगेगा!
लिन


5

05AB1E , 42 बाइट्स

•3[ÜAʒg‰ŽÎ<\¦•6¡εS"-.@(=_"sèJ∞}'\∞5LRׂ˜.C

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


1026344463000063444446355555 अब Icecream नंबर b / c है और किसी और ने इसका उपयोग नहीं किया है।


Full program: •3[ÜAʒg‰ŽÎ<\¦•6¡εS"-.@(=_"sèJ∞}'\∞5LRׂ˜.C
current >> •  ||  stack: []
current >> 6  ||  stack: [1026344463000063444446355555]
current >> ¡  ||  stack: [1026344463000063444446355555, '6']
current >> ε  ||  stack: [['102', '3444', '30000', '344444', '355555']]
For each: S"-.@(=_"sèJ∞
Full program: S"-.@(=_"sèJ∞
current >> S  ||  stack: ['102']
current >> "  ||  stack: [['1', '0', '2']]
current >> s  ||  stack: [['1', '0', '2'], '-.@(=_']
current >> è  ||  stack: ['-.@(=_', ['1', '0', '2']]
current >> J  ||  stack: [['.', '-', '@']]
current >> ∞  ||  stack: ['.-@']
stack > ['.-@@-.']
Full program: S"-.@(=_"sèJ∞
current >> S  ||  stack: ['3444']
current >> "  ||  stack: [['3', '4', '4', '4']]
current >> s  ||  stack: [['3', '4', '4', '4'], '-.@(=_']
current >> è  ||  stack: ['-.@(=_', ['3', '4', '4', '4']]
current >> J  ||  stack: [['(', '=', '=', '=']]
current >> ∞  ||  stack: ['(===']
stack > ['(======)']
Full program: S"-.@(=_"sèJ∞
current >> S  ||  stack: ['30000']
current >> "  ||  stack: [['3', '0', '0', '0', '0']]
current >> s  ||  stack: [['3', '0', '0', '0', '0'], '-.@(=_']
current >> è  ||  stack: ['-.@(=_', ['3', '0', '0', '0', '0']]
current >> J  ||  stack: [['(', '-', '-', '-', '-']]
current >> ∞  ||  stack: ['(----']
stack > ['(--------)']
Full program: S"-.@(=_"sèJ∞
current >> S  ||  stack: ['344444']
current >> "  ||  stack: [['3', '4', '4', '4', '4', '4']]
current >> s  ||  stack: [['3', '4', '4', '4', '4', '4'], '-.@(=_']
current >> è  ||  stack: ['-.@(=_', ['3', '4', '4', '4', '4', '4']]
current >> J  ||  stack: [['(', '=', '=', '=', '=', '=']]
current >> ∞  ||  stack: ['(=====']
stack > ['(==========)']
Full program: S"-.@(=_"sèJ∞
current >> S  ||  stack: ['355555']
current >> "  ||  stack: [['3', '5', '5', '5', '5', '5']]
current >> s  ||  stack: [['3', '5', '5', '5', '5', '5'], '-.@(=_']
current >> è  ||  stack: ['-.@(=_', ['3', '5', '5', '5', '5', '5']]
current >> J  ||  stack: [['(', '_', '_', '_', '_', '_']]
current >> ∞  ||  stack: ['(_____']
stack > ['(__________)']
current >> '  ||  stack: [['.-@@-.', '(======)', '(--------)', '(==========)', '(__________)']]
current >> ∞  ||  stack: [['.-@@-.', '(======)', '(--------)', '(==========)', '(__________)'], '\\']
current >> 5  ||  stack: [['.-@@-.', '(======)', '(--------)', '(==========)', '(__________)'], '\\/']
current >> L  ||  stack: [['.-@@-.', '(======)', '(--------)', '(==========)', '(__________)'], '\\/', '5']
current >> R  ||  stack: [['.-@@-.', '(======)', '(--------)', '(==========)', '(__________)'], '\\/', [1, 2, 3, 4, 5]]
current >> ×  ||  stack: [['.-@@-.', '(======)', '(--------)', '(==========)', '(__________)'], '\\/', [5, 4, 3, 2, 1]]
current >> ‚  ||  stack: [['.-@@-.', '(======)', '(--------)', '(==========)', '(__________)'], ['\\/\\/\\/\\/\\/', '\\/\\/\\/\\/', '\\/\\/\\/', '\\/\\/', '\\/']]
current >> ˜  ||  stack: [[['.-@@-.', '(======)', '(--------)', '(==========)', '(__________)'], ['\\/\\/\\/\\/\\/', '\\/\\/\\/\\/', '\\/\\/\\/', '\\/\\/', '\\/']]]
current >> .  ||  stack: [['.-@@-.', '(======)', '(--------)', '(==========)', '(__________)', '\\/\\/\\/\\/\\/', '\\/\\/\\/\\/', '\\/\\/\\/', '\\/\\/', '\\/']]
   .-@@-.
  (======)
 (--------)
(==========)
(__________)
 \/\/\/\/\/
  \/\/\/\/
   \/\/\/
    \/\/
     \/
stack > ['   .-@@-.\n  (======)\n (--------)\n(==========)\n(__________)\n \\/\\/\\/\\/\\/\n  \\/\\/\\/\\/\n   \\/\\/\\/\n    \\/\\/\n     \\/']

•3[ÜAʒg‰ŽÎ<\¦•               | Pushes 1026344463000063444446355555 to the stack.
-----------------------------+-------------------------------------------------
6¡                           | Split on 6's.
-----------------------------+-------------------------------------------------
  ε             }            | Loop on each piece to create the top of the icecream...
   S                         | Split into single chars.
    "-.@(=_"sè               | Substitute in the correct symbol for each number.
              J∞             | Join, then mirror.
-----------------------------+-------------------------------------------------
                 '\∞         | Push \/.
                    5LR      | Push [5,4,3,2,1]
                       ×     | Multiply '\/' by each 5,4,3,2 and 1.
                        ‚˜   | Join top to bottom.
                          .C | Center w/ newlines.


3

सी, 171 बाइट्स

i;p(c,n,o){for(printf("%*c",o,i?32:40);n--;)printf(c);puts(i?"":")");}f(){p(".-@@-.",i=1,3);--i;p("=",6,3);p("-",8,2);p("=",10,1);p("_",10,1);for(i=6;--i;)p("\\/",i,6-i);}

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

सी, 146 बाइट्स

f(){puts("   .-@@-.\n  (======)\n (--------)\n(==========)\n(__________)\n \\/\\/\\/\\/\\/\n  \\/\\/\\/\\/\n   \\/\\/\\/\n    \\/\\/\n     \\/");}

बस हार्डकोड स्ट्रिंग को प्रिंट करता है।

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


1
आप इससे बेहतर कर सकते हैं जो मुझे लगता है ...
क्लेब्लांक

2

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

जोनाथन फ्रेच के जवाब से एक चाल उधार ली , और मुझे कुछ बाइट्स बचाने के लिए भी धन्यवाद दिया।

print"   .-@@-.\n  (======)\n "+"(%s)\n"*3%("-"*8,"="*10,"_"*10),
i=5
while i:print(6-i)*" "+"\/"*i;i-=1

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


अजगर 2 , 108 बाइट्स

print"""   .-@@-.
  (======)
 (--------)
(==========)
(__________)"""
i=5
while i:print(6-i)*" "+"\/"*i;i-=1

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




2

पर्ल 5 , 92 बाइट्स

say'   .-@@-.
  (======)
 (--------)
(==========)
(__________)';$_='\/'x6;say while s%\\/% %

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


क्या आपको बाइट गिनती की ओर इनपुट की गणना करने की आवश्यकता नहीं है? अन्यथा बस पूरे स्ट्रिंग को इनपुट करें ...
क्लेब्लांक

कोई इनपुट नहीं है। वह सिर्फ एक TIO बचा हुआ था जो मैं कर रहा था।
Xcali

शांत, धन्यवाद मिला।
क्लेब्लांक

+1। आप RLE डिकोडिंग का उपयोग करके एक जोड़े को बचा सकते हैं, लेकिन मैं किसी कारण से काम करने के लिए ;सीमांकक के रूप में उपयोग नहीं कर सका s///। मोबाइल पर इतना कुछ भी नहीं कर सकता! इसे ऑनलाइन आज़माएं!
डोम हेस्टिंग्स


1

पायथन 3, 202 बाइट्स

यह बहुत भयानक है, इसकी अधिक बाइट्स केवल स्ट्रिंग को परिभाषित करने और यहां तक ​​कि छपाई से भी अधिक है।

print("   .-@@-.")
print("  ("+"="*6+")")
print(" ("+"-"*8+")")
print("("+"="*10+")")
print("("+"_"*10+")")
print(" "+"\/"*5)
print("  "+"\/"*4)
print("   "+"\/"*3)
print("    "+"\/"*2)
print("     \/")

यह ऑनलाइन की कोशिश करो


6
आप \nअलग-अलग printकथनों के बजाय उपयोग कर सकते हैं
निसा

इस दृष्टिकोण का उपयोग करके 148 बाइट्स
मिस्टर एक्सकोडर

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

1

जेली , 74 72 बाइट्स

5RU⁾\/ẋ
5R×⁶ż¢Y
3,6,8,10,10j1ż“ “.-@@-.¶  (“=“)¶ (“-“)¶(“=“)¶(“_“)¶”P€;¢

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

स्पष्टीकरण:

5RU⁾\/ẋ    Link 1. Generate list of "\/"s for cone.
5RU        Range 5, reverse. Gets [5,4,3,2,1].
   ⁾\/     Literal string "\/".
      ẋ    Repeat. Gets ["\/\/\/\/\/","\/\/\/\/","\/\/\/","\/\/","\/"].

5R×⁶ż¢Y    Link 2. Generate rest of cone.
5R         Range 5. Gets [1,2,3,4,5].
  ×⁶       Repeat " " that many times. Gets [" ","  ","   ","    ","     "]
    ż¢     Zip that with the ¢ones. Gets a list of alternating space and cones.
      Y    Join with newlines. This puts it all together for the big cone.

3,6,8,10,10j1ż“ “.-@@-.¶  (“=“)¶ (“-“)¶(“=“)¶(“_“)¶”P€;¢    Link 3. Generate the top and put it on the cone.
10,10,8,6j1;1U                                                Generate list 3,1,6,1,8,1,10,1,10. Does this by joining [10,10,8,6] with ones, appending a one, and reversing.
               “   .-@@-.¶  (“=“)¶ (“-“)¶(“=“)¶(“_“)¶”        List of strings. This separates the completed parts from the non completed parts.
              ż                                               Zip 'em together. Gets [number, string, number, string, ...]
                                                      P€      Get the product of €ach. This completes the non completed strings by repeating them.
                                                        ;¢    Attach the ¢one to the end.

1

मैथेमेटिका, 117 बाइट्स

Column[Join[{".-@@-."},"("<>#<>")"&/@{"="~(T=Table)~6,"-"~T~8,"="~T~10,"_"~T~10},T[""<>T["\/",i],{i,5,1,-1}]],Center]


आउटपुट
यहाँ छवि विवरण दर्ज करें

आप इसे वुल्फराम सैंडबॉक्स पर टेस्ट कर सकते हैं (हालाँकि वे जिस फोंट का उपयोग करते हैं वह परिणाम को थोड़ा नष्ट कर सकता है)


दिलचस्प \/है एक विशेष चरित्र। मुझे पता नहीं चल सका कि मैंने इसके लिए क्या उपयोग किया है इसलिए मैंने Mma.SE: mathematica.stackexchange.com/q/200673/61597
lirtosiast




1

सी 165 बाइट्स

y,x,z;f(){for(puts("   .-@@-.");y++<9;)for(;x=++x%14;)z=y+3-y/4,putchar(x<13?y<5?x-7^z-1?7-x^z?abs(x-7)<z?y<4?y&1?61:45:95:32:40:41:x+y>16|y-x>3?32:x+y&1?92:47:10);}

1

मूल रूप से , 345 336 बाइट्स

⇒@@@
RU+30f1+3-00@-2+3@+4@@-4@+2-3@-110@+31-4@@+2-4@+10f1f1-3+0@-400@+31-4@+2-4@+3-10f1f1@@-4+1@-400@+11@+10f1f1f1@-3+0@-400@+11@+4110@f1f1f1-22@-400@+31-4@+220@-43@+43@-43@+43@-43@+43@-43@+43@-43@-4000@+31-4@@+220@-43@+43@-43@+43@-43@+43@-43@-4000@+31-4f1+220@-43@+43@-43@+43@-43@-4000@+31-4f1@+220@-43@+43@-43@-4000@+31-4f1@@+220@-43@

इस उपकरण के माध्यम से मिला और युगल-कस्टम अनुकूलन के साथ खोज-और-जगह के माध्यम से गोल्फिंग की गई।

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


वैकल्पिक विधि:

391 बाइट्स (घन को संशोधित नहीं करता है)

+5/1+3@@@:1/1+5@5.0+2@@5.0-2@-4@:5/1+3@@:4/1+4@:5+2/1+51@@@@@@:5/1+4@:1/1+1@:5/1+3@:4/1+4@5.05.05.05.05.05.05.05.0:5/1+4@:1/1+1@:4/1+4@:5+2/1+51@@@@@@@@@@:5/1+4@:1/1+1@:4/1+4@:5/1+55@@@@@@@@@@-51@:1/1+1@:5/1+3@:2/1+55@-5@+5@-5@+5@-5@+5@-5@+5@-5@:1/1+1@:5/1+3@@:2/1+55@-5@+5@-5@+5@-5@+5@-5@:1/1+1@:5/1+3@@@:2/1+55@-5@+5@-5@+5@-5@:1/1+1@:5/1+3@@@@:2/1+55@-5@+5@-5@:1/1+1@:5/1+3@@@@@:2/1+55@-5@

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