वर्तमान राशि क्या है?


15

दिए गए देश के अनुसार, समय की पूर्वी राशि के इमोजी को प्रदर्शित करें।

पूर्वी राशि एक वर्गीकरण योजना है जो 12 साल के चक्र को दोहराते हुए प्रत्येक वर्ष एक जानवर और उसके प्रतिष्ठित गुण प्रदान करती है। इसे भी घंटों सौंपा गया है।

नियम:

  1. देश को आईएसओ 3166-1 अल्फा -3 कोड के रूप में दिया जाना चाहिए। सूची यहाँ है

  2. इनपुट प्रारूप इस प्रकार होना चाहिए <ISO code> HH:MM:। इनपुट एक स्ट्रिंग होना चाहिए। कोई भी इनपुट जो इस प्रारूप में फिट नहीं होता है, उसकी देखभाल की स्थिति में नहीं है।

  3. यदि दिया गया समय नीचे दिए गए चार्ट की सीमा में है, तो आप राशि चक्र का उत्पादन कर सकते हैं।

  4. जैसा कि यह एक कोड गोल्फ है, बाइट्स में सबसे छोटा कोड जीतता है।

राशि चक्र:

निर्दिष्ट देश के बिना राशि चक्र चूक हैं।

  • पहली राशि (23:00 - 01:00):

    • चूहा Rat (U + 1F400)
    • फारस (IRN) में माउस Mouse (U + 1F401)
  • दूसरी राशि (01:00 - 03:00):

    • ऑक्स Ox (U + 1F402)
    • वियतनाम में पानी की भैंस (U + 1F403) (VNM)
    • फारस में गाय Cow (U + 1F404)
  • तीसरी राशि (03:00 - 05:00):

    • टाइगर Tiger (U + 1F405)
    • तेंदुआ in (U + 1F406) फारस में
  • चौथी राशि (05:00 - 07:00):

    • खरगोश U (U + 1F407)
    • वियतनाम में बिल्ली Cat (U + 1F408)
  • पांचवीं राशि (07:00 - 09:00):

    • ड्रैगन Dragon (U + 1F409)
    • फारस में मगरमच्छ roc (U + 1F40A) / व्हेल U (U + 1F40B) (आप या तो उत्पादन कर सकते हैं)
    • कज़ाख कज़ाख (U + 1F40C) कजाकिस्तान में (काज़)
  • छठी राशि (09:00 - 11:00):

    • सांप Snake (U + 1F40D)
  • सातवीं राशि (11:00 - 13:00):

    • घोड़ा + (U + 1F40E)
  • आठवीं राशि (13:00 - 15:00):

    • राम + (U + 1F40F)
    • वियतनाम में बकरी in (U + 1F410)
    • फारस में भेड़ Sheep (U + 1F411)
  • नौवीं राशि (15:00 - 17:00):

    • बंदर + (U + 1F412)
  • दसवीं राशि (17:00 - 19:00):

    • मुर्गा U (U + 1F413)
    • फारस में चिकन Chicken (U + 1F414)
  • ग्यारहवीं राशि (19:00 - 21:00):

    • डॉग Dog (U + 1F415)
  • बारहवीं राशि (21:00 - 23:00):

    • सुअर Pig (U + 1F416)
    • जापान में बोअर in (U + 1F417) (JPN)
    • थाईलैंड में हाथी in (U + 1F418) (THA)

कोड पॉइंट यहां से हैं।

उदाहरण:

निम्नलिखित इनपुट को देखते हुए:

KOR 19:42

आउटपुट होना चाहिए:

🐕

दिलचस्प है - मुझे पता था कि ये हर 12 साल में साइकिल चलाते हैं। मैंने कभी 24 घंटे के चक्र के बारे में नहीं सुना। फिर भी, चुनौती स्पष्ट रूप से निर्दिष्ट है क्योंकि यह खड़ा है। इसे 12 साल तक सही करने से भ्रम की स्थिति पैदा हो सकती है।
लेवल रिवर सेंट 10

क्या फारस के साथ इतने सारे विभिन्न संस्करण हैं? कोई खास कारण?
caird coinheringaahing

@cairdcoinheringaahing मैं ईरानी नहीं हूं, इसलिए मुझे नहीं पता।
डैनीउ एनडोस

1
@cairdcoinheringaahing ने एक पुराने फ़ारसी कवि और शब्दकोश लेखक को "अबू नस्र फ़राही" या फ़ारसी में "ابونصر_فراهی" कहा है, उनकी एक किताब में एक छोटी कविता है, जो उस क्रम में उन जानवरों को कहते हैं और इस प्रकार वे ईरान में इस्तेमाल होने वाले जानवर हैं। उन 12 वर्षों में से प्रत्येक। वह बहुत प्रसिद्ध कवि नहीं रहे हैं, इसलिए उनके बारे में बहुत सारे अंग्रेजी संसाधन नहीं पाए जा सकते हैं, लेकिन मैंने फ़ारसी में उनकी पुस्तक के पाठ की जाँच की और कवि वहीं थे।
रात्रि 2

जवाबों:



11

जावास्क्रिप्ट (ईएस 6),  168 165 160 157  155 बाइट्स

4 बाइट्स @Neil की बदौलत सहेजे गए

फारस में 5 वीं राशि के लिए मगरमच्छ लौटाता है ।

([a,b,c,,d,e])=>String.fromCodePoint(127998-~'00111321211'[k=-~(d+e)%24>>1]+k*2-~(1e12+{IRN:121010020100,VNM:1010001e4,KAZ:3e7,JPN:1,THA:2}[a+b+c]+a)[k+1])

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

कैसे?

=((+1)आधुनिक24)/2

एक्स

=2+एक्स

128000++सीसी देश ऑफ़सेट है।

इसे निम्नलिखित तालिका में संक्षेपित किया गया है:

   k =  |   0 |   1 |   2 |   3 |   4 |   5 |   6 |   7 |   8 |   9 |  10 |  11
--------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----
  b(k)  |  +0 |  +2 |  +5 |  +7 |  +9 | +13 | +14 | +15 | +18 | +19 | +21 | +22
  = 2k  |   0 |   2 |   4 |   6 |   8 |  10 |  12 |  14 |  16 |  18 |  20 |  22
  +x(k) |   0 |   0 |   1 |   1 |   1 |   3 |   2 |   1 |   2 |   1 |   1 |   0
--------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----
   IRN  |  +1 |  +2 |  +1 |     |  +1 |     |     |  +2 |     |  +1 |     |
   VNM  |     |  +1 |     |  +1 |     |     |     |  +1 |     |     |     |
   KAZ  |     |     |     |     |  +3 |     |     |     |     |     |     |
   JPN  |     |     |     |     |     |     |     |     |     |     |     |  +1
   THA  |     |     |     |     |     |     |     |     |     |     |     |  +2

टिप्पणी की गई

( [ a, b, c,               // a,b,c = country code
    ,                      // the space is ignored
    d, e ] ) =>            // d,e = hour (minutes are ignored)
  String.fromCodePoint(    // return the character whose code point is:
    127998                 //   127998
    -~'00111321211'[       //   + 1 + x(k)
      k = -~(d + e)        //   where k is defined as:
          % 24 >> 1        //     floor(((hour + 1) mod 24) / 2)
    ] +                    //
    k * 2                  //   + 2k
    -~(                    //   + 1 + the country offset
      1e12 +               //     each pattern being encoded as 10**12
      {                    //     + a specific value, leading to:
        IRN: 121010020100, //       IRN -> 1121010020100
        VNM: 1010001e4,    //       VNM -> 1010100010000
        KAZ: 3e7,          //       KAZ -> 1000030000000
        JPN: 1,            //       JPN -> 1000000000001
        THA: 2             //       THA -> 1000000000002
      }[a + b + c]         //     according to the country code
      + a                  //     coerced to a string
    )[k + 1]               //   extract the correct offset for this zodiac
  )                        //   (gives something NaN-ish for the other countries)

1
String.fromCodePoint(128e3+~~4 बाइट्स बचाता है।
नील

@ नील धन्यवाद! :)
अरनौलड

5

PHP , 185 वर्ण, 263 बाइट्स

बग फिक्स के लिए डैनीयू एनडोस का धन्यवाद ।

fn($i)=>strlen($b=[[🐀,🐁],[🐂,🐄,🐃],[🐅,🐆],[🐇,🐇,🐈],[🐉,🐊,🐉,🐌],🐍,🐎,[🐏,🐑,🐐],🐒,[🐓,🐔],🐕,[🐖,4=>🐗,5=>🐘]][(($t=$i[4].$i[5])%2?$t+1:$t)%24/2])?$b:$b[strpos(____IRN_VNM_KAZ_JPN_THA,substr($i,0,3))/4]

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

बस एक साधारण सरणी मानचित्रण, इस गोल्फ को बेहतर तरीके से होना चाहिए। इनपुट समय के घंटे का हिस्सा एक सम संख्या (0-22) में बदल जाता है और फिर मैपिंग में सरणी इंडेक्स 0 से 11 प्राप्त करने के लिए इसे 2 से विभाजित किया जाता है। विशेष मामलों की समयावधि समान क्रम में 0 अंक के साथ डिफ़ॉल्ट साइन और IRN, VNM, KAZ, JPN और THA के लिए विशेष चिह्न के लिए 1-5 मैप की गई है।


4

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

℅⁺×¹²⁸φΣE⮌…⪪”&↖∨∧h↘X⁷↘H⪫³Jºρ⁷s,⟲⌈3A‖Cc>χ§₂25:×” ⊕﹪÷⊕I…粦²¦¹²⊕⎇κ÷Lι³⌕⪪ι³θ

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

℅⁺×¹²⁸φ

0x1F400= 128,000 ( φ1,000 तक पूर्वनिर्धारित है)। यह बाकी अभिव्यक्ति के योग में जोड़ा जाता है और अंतर्निहित प्रिंट के लिए एक चरित्र में बदल जाता है।

⊕﹪÷⊕I…粦²¦¹²

घंटे को निकाला जाता है और राशि चक्र में बदल दिया जाता है।

…⪪”&↖∨∧h↘X⁷↘H⪫³Jºρ⁷s,⟲⌈3A‖Cc>χ§₂25:×” ...

संपीड़ित स्ट्रिंग IRN VNMIRN IRN VNM IRNIRNKAZ VNMIRN IRN JPNTHAको रिक्त स्थान पर विभाजित किया जाता है और उस सूचकांक द्वारा दी गई लंबाई तक काट दिया जाता है।

ΣE⮌...

इसके बाद सरणी को उलट दिया जाता है, मैप किया जाता है, और सारांशित किया जाता है।

⊕⎇κ÷Lι³⌕⪪ι³θ

पहले तत्व के लिए, स्ट्रिंग को तीन वर्णों के समूहों में विभाजित किया जाता है और देश सूचकांक लिया जाता है, अन्यथा देशों की संख्या गिनी जाती है। पहले तत्व के लिए, इंडेक्स को 0-इंडेक्सिंग से 1-इंडेक्सिंग में बदलना होगा जबकि अन्य तत्वों के लिए परिणाम को डिफ़ॉल्ट देश के लिए बढ़ाना होगा, इसलिए यह टर्नरी के बाहर किया जाता है।


3

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

lambda s,a='BA EDC GF HIH KJMJ N O RQP S UT V WWWXYW'.split():chr(ord(a[(int(s[4:6])+1)//2][min('IRNVNMKAZJPNTHA'.find(s[:3])//3,len(a[(int(s[4:6])+1)//2])-1)])+127935)

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


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