এএসসিআইআই-আর্ট লাইটের উত্সব


12

যতটা সম্ভব চরিত্রগুলিতে লিখুন, এমন একটি প্রোগ্রাম যা শূন্য বা ছয়টি কমান্ড-লাইন আর্গুমেন্ট নেয়

menorah
menorah YEAR MONTH DAY HOUR MINUTE SECOND

(দুই প্রকারই সমর্থিত হতে হবে। শূন্য যুক্তি সংস্করণের সাথে ছয় যুক্তি সংস্করণ কলিং সমতূল্য হইবে বর্তমান স্থানীয় সময় অঞ্চল সিস্টেম তারিখ এবং সময়।)

এবং নিদিষ্ট (গ্রেগরিয়ান-ক্যালেন্ডার) তারিখ এবং সময় সময় পড়ে যদি হানুক্কাহ , তারপর আউটপুট একটি ASCII শিল্প (অথবা ইউনিকোড শিল্প) মোমবাতি শয়নকামরা যথাযথ নম্বর দিয়ে নয়-শাখা menorah এটি যদি হনুক্কার সময় না হয় তবে একটি নতুন লাইন আউটপুট দিন। উদাহরণ স্বরূপ,

~$ ./menorah 2015 12 7 0 0 0

    *
    |   *
    |   |
    |   |
+++++++++
    |
   -+-

~$ ./menorah 2015 12 9 0 0 0

    *
    | ***
    | |||
    | |||
+++++++++
    |
   -+-

~$ ./menorah 2015 12 14 0 0 0

    *
****|****
|||||||||
|||||||||
+++++++++
    |
   -+-

~$ ./menorah 2015 12 15 0 0 0
~$

উত্সবের নবম দিন, এন + 1 মোমবাতি প্রজ্জ্বলিত করা হয়: কেন্দ্রীয় শামশ মোমবাতি এবং 8 টি হানুক্কা মোমবাতিগুলির এন ডান থেকে বাম দিকে রেখে দেওয়া হয়েছে।

আউটপুট বিন্যাসে অনুমোদিত বৈচিত্রগুলি হ'ল:

  • অব্যবহৃত মোমবাতি বাদ দেওয়া পরিবর্তে আনলিট আঁকতে পারে।
  • ফলাফলটিকে আরও নান্দনিকভাবে আনন্দদায়ক করতে আপনি অ-এসসিআইআই অক্ষর ব্যবহার করতে পারেন। এর 🔥পরিবর্তে (U + 1F525) পছন্দ করুন *। বা এর পরিবর্তে বক্স-অঙ্কন অক্ষর +-|

এই চ্যালেঞ্জের উদ্দেশ্যে, হিব্রু ক্যালেন্ডারের কোনও দিন 18:00 এ শুরু হতে পারে বলে ধরে নেওয়া যেতে পারে।

1900 থেকে 2239 এর মধ্যে গ্রেগরিয়ান বছরগুলিতে ফলাফল অবশ্যই সঠিক হতে হবে।


হনুক্কা গ্রেগরিয়ান তারিখে সূর্যাস্তের পরে শুরু হয়

1900-12-16  1901-12-05  1902-12-24  1903-12-13  1904-12-02  1905-12-22
1906-12-11  1907-11-30  1908-12-18  1909-12-07  1910-12-25  1911-12-15
1912-12-04  1913-12-23  1914-12-12  1915-12-01  1916-12-19  1917-12-09
1918-11-28  1919-12-16  1920-12-05  1921-12-25  1922-12-14  1923-12-02
1924-12-21  1925-12-11  1926-11-30  1927-12-18  1928-12-07  1929-12-26
1930-12-14  1931-12-04  1932-12-23  1933-12-12  1934-12-01  1935-12-20
1936-12-08  1937-11-28  1938-12-17  1939-12-06  1940-12-24  1941-12-14
1942-12-03  1943-12-21  1944-12-10  1945-11-29  1946-12-17  1947-12-07
1948-12-26  1949-12-15  1950-12-03  1951-12-23  1952-12-12  1953-12-01
1954-12-19  1955-12-09  1956-11-28  1957-12-17  1958-12-06  1959-12-25
1960-12-13  1961-12-02  1962-12-21  1963-12-10  1964-11-29  1965-12-18
1966-12-07  1967-12-26  1968-12-15  1969-12-04  1970-12-22  1971-12-12
1972-11-30  1973-12-19  1974-12-08  1975-11-28  1976-12-16  1977-12-04
1978-12-24  1979-12-14  1980-12-02  1981-12-20  1982-12-10  1983-11-30
1984-12-18  1985-12-07  1986-12-26  1987-12-15  1988-12-03  1989-12-22
1990-12-11  1991-12-01  1992-12-19  1993-12-08  1994-11-27  1995-12-17
1996-12-05  1997-12-23  1998-12-13  1999-12-03  2000-12-21  2001-12-09
2002-11-29  2003-12-19  2004-12-07  2005-12-25  2006-12-15  2007-12-04
2008-12-21  2009-12-11  2010-12-01  2011-12-20  2012-12-08  2013-11-27
2014-12-16  2015-12-06  2016-12-24  2017-12-12  2018-12-02  2019-12-22
2020-12-10  2021-11-28  2022-12-18  2023-12-07  2024-12-25  2025-12-14
2026-12-04  2027-12-24  2028-12-12  2029-12-01  2030-12-20  2031-12-09
2032-11-27  2033-12-16  2034-12-06  2035-12-25  2036-12-13  2037-12-02
2038-12-21  2039-12-11  2040-11-29  2041-12-17  2042-12-07  2043-12-26
2044-12-14  2045-12-03  2046-12-23  2047-12-12  2048-11-29  2049-12-19
2050-12-09  2051-11-28  2052-12-15  2053-12-05  2054-12-25  2055-12-14
2056-12-02  2057-12-21  2058-12-10  2059-11-29  2060-12-17  2061-12-07
2062-12-26  2063-12-15  2064-12-03  2065-12-22  2066-12-12  2067-12-01
2068-12-18  2069-12-08  2070-11-27  2071-12-16  2072-12-04  2073-12-24
2074-12-13  2075-12-01  2076-12-20  2077-12-10  2078-11-29  2079-12-17
2080-12-06  2081-12-26  2082-12-15  2083-12-04  2084-12-22  2085-12-11
2086-11-30  2087-12-19  2088-12-07  2089-11-27  2090-12-16  2091-12-05
2092-12-23  2093-12-13  2094-12-02  2095-12-20  2096-12-09  2097-11-29
2098-12-18  2099-12-06  2100-12-26  2101-12-16  2102-12-05  2103-12-23
2104-12-12  2105-12-02  2106-12-21  2107-12-10  2108-11-28  2109-12-17
2110-12-06  2111-12-25  2112-12-13  2113-12-03  2114-12-22  2115-12-10
2116-11-29  2117-12-19  2118-12-08  2119-12-26  2120-12-15  2121-12-04
2122-12-23  2123-12-12  2124-12-01  2125-12-21  2126-12-10  2127-11-29
2128-12-17  2129-12-06  2130-12-24  2131-12-14  2132-12-03  2133-12-22
2134-12-11  2135-11-30  2136-12-18  2137-12-07  2138-12-26  2139-12-15
2140-12-04  2141-12-23  2142-12-12  2143-12-01  2144-12-20  2145-12-09
2146-11-27  2147-12-17  2148-12-05  2149-12-24  2150-12-13  2151-12-03
2152-12-22  2153-12-11  2154-11-30  2155-12-19  2156-12-07  2157-12-25
2158-12-15  2159-12-05  2160-12-23  2161-12-12  2162-12-01  2163-12-20
2164-12-09  2165-11-28  2166-12-16  2167-12-06  2168-12-24  2169-12-13
2170-12-02  2171-12-22  2172-12-10  2173-11-28  2174-12-18  2175-12-08
2176-12-26  2177-12-14  2178-12-04  2179-12-24  2180-12-12  2181-12-01
2182-12-20  2183-12-09  2184-11-28  2185-12-17  2186-12-06  2187-12-25
2188-12-14  2189-12-03  2190-12-21  2191-12-11  2192-11-29  2193-12-17
2194-12-07  2195-12-27  2196-12-15  2197-12-03  2198-12-23  2199-12-13
2200-12-02  2201-12-20  2202-12-10  2203-11-30  2204-12-18  2205-12-07
2206-12-26  2207-12-15  2208-12-03  2209-12-22  2210-12-11  2211-12-01
2212-12-19  2213-12-08  2214-12-27  2215-12-17  2216-12-05  2217-12-23
2218-12-13  2219-12-02  2220-12-20  2221-12-09  2222-11-29  2223-12-18
2224-12-05  2225-12-25  2226-12-15  2227-12-04  2228-12-21  2229-12-11
2230-12-01  2231-12-20  2232-12-08  2233-12-27  2234-12-16  2235-12-05
2236-12-23  2237-12-12  2238-12-02  2239-12-21

9
আমাদের মধ্যে যারা ইহুদি নয় (এবং যারা যারা আছেন কিন্তু ইহুদি পঞ্জিকা গণনা করতে জানেন না তাদের জন্য) অনুগ্রহ করে ব্যাখ্যা করুন যে হনুক্কার শুরু কীভাবে গণনা করা হয়। মোমবাতি জ্বালানোর ক্রমটিও আপনাকে ব্যাখ্যা করতে হবে (এটি একদিন মনে হয় তবে আপনি কোন মোমবাতিটি আলোকিত করেন তা কী বোঝায়?)
স্তর নদী সেন্ট

আমাদের কি শূন্য এবং ছয়টি কমান্ড-লাইন আর্গুমেন্ট উভয়ই সমর্থন করা প্রয়োজন , বা আমরা চয়ন করতে পারি?
lirtosiast

@ থমাসকওয়া: উভয়ই। পার্থক্যটি হ'ল শূন্য-যুক্তি সংস্করণটি বর্তমান তারিখ এবং সময় ব্যবহার করে ।
dan04

1
অপ্রয়োজনীয় মোমবাতিগুলি আনলিট হিসাবে আঁকার বিকল্পটির অর্থ এটির গতিশীল এসকিআই আর্ট অংশটি টোগলযুক্ত নক্ষত্রের কেবল এক সারি, যা মোটেও আকর্ষণীয় নয়। না যে আমি বৃহত্তর ascii আর্ট অঙ্কন বিশেষভাবে আকর্ষণীয় শুরু সঙ্গে এটি খুঁজে।
স্পার

1
@ স্পার আসকি শিল্পের অংশটি এই চ্যালেঞ্জের চূড়ান্ততম অংশ থেকে অনেক দূরে, গ্রেগ্রিয়ান থেকে হিব্রু তারিখে রূপান্তর এবং আমরা ছুটির মধ্যে
রয়েছি

উত্তর:


3

গণিত, 376 338 334 বাইট

a=Rest@$ScriptCommandLine;b=CalendarConvert[If[a=={},Now~TimeZoneConvert~0,DateObject[FromDigits/@a,TimeZone->0]],j="Jewish"];c=Floor@DateDifference[DateObject[{b[[1,1]],9,25},CalendarType->j,TimeZone->0],b][[1]];d=If[#<=c,"*"," "]&;0<=c<8&&Print["    *
"<>{d/@{7,6,5,4},"|",d/@{3,2,1},"*
|||||||||
|||||||||
+++++++++
    |
   -+-"}]

স্ক্রিপ্টে চলে।


3

আর, 467 বাইট

কিছুটা সন্দেহের সাথে যদি ক্যালেন্ডার রূপান্তরটির জন্য কোনও লাইব্রেরি ব্যবহারের অনুমতি দেওয়া হয় বা না হয়।

library(ConvCalendar)
f='%Y %m %d %H %M %S'
g='hebrew'
s=' '
if(length(n<-scan())!=6)n=format(Sys.time(),f)
if(n[4]>17)n[3]=n[3]+1
d=strptime(paste(n,collapse=s),f)
h=as.OtherDate(d,g)
i=OtherDate(25,3,h$year,g)
j=round(difftime(d,as.Date(i),,"days"))+1
N=ifelse(j>0&j<10,(1:9)[j],0)
if(!N)write('')else{l='**||+|+'
z=matrix(strsplit(l,'')[[1]],9,7,T)
z[c(1:4,6:9),c(1,6:7)]=s
z[c(4,6),7]='-'
if(N<8)z[1:(9-N),2:4]=s
z[5,2:4]='|'
write(z,'',9,,'')}

ইনপুট 2015 12 07 00 00 00 এর উদাহরণ:

    *    
    |   *
    |   |
    |   |
+++++++++
    |    
   -+-   

আমার চোখ ........ :)
ডেভিড আরেনবুর্গ

1

এপিএল (ডায়ালগ) , 193 বাইট

STDIN থেকে ইনপুট জন্য প্রম্পট এবং STDOUT এ প্রিন্ট করে।

বক্স অঙ্কন অক্ষর এবং একটি প্রকৃত প্রদীপ প্রতীক ব্যবহার করে !

USING'System'
3×(c←+/i≥((⎕NEW Globalization.HebrewCalendar).(ToDateTime 73 23 18,⍨GetYear)i←⎕NEW DateTime(6↑⍎∊⍞'⎕TS')).AddDays¨⍳9)∊⍳8
¯5'⍝'
'⍝'@(10-r+5r←⍳c)⊢9s←¯5'│'
9/⍪'││┴'
s
'   ─┴─'

⎕USING←'System' নেট ব্যবহার করুন

⍳8 প্রথম আট ɩ ntegers
(... )∊ বুলিয়ান কিনা নিম্নলিখিত যে একজন সদস্য জন্য:
⍳9 প্রথম নয় পূর্ণসংখ্যার
(... ).AddDays¨ : প্রত্যেকের জন্য, যে অনেক দিন যোগ
  ⎕NEW DateTime(... ) একটি নতুন তারিখসময় .NET বস্তুর মান:
   ⍞'⎕TS' বর্তমান জন্য stdin এবং অভিব্যক্তি টি IME এস টিপিয়া নিচে বসাইয়া দেত্তয়া
   ε nlist (চেপ্টা)
    চালানো (মূল্যায়ন) যে (ছয় বা সাত-উপাদানের সাংখ্যিক তালিকা দেয়)
   6↑ প্রথম ছয় উপাদানের (YMD HMS) নিতে
  i← হিসাবে দোকান i(জন্য আমি nput)
  (⎕NEW Globalization.HebrewCalendar).(... ) একটি নতুন HebrewCalendar বস্তু:
   GetYear (হিব্রু) বছরের পেতে এই ইনপুট
   3 23 18,⍨ সংযোজন (3 মাস, 23 তম দিন, 18) ঘন্টা - হানুক্কাহ আগে এক রাতে)
   7↑ প্রথম সাত উপাদানের সঙ্গে 0 সেঃ (মিনিট, সেকেন্ড) প্যাডিং নেওয়া
   ToDateTime ধর্মান্তরিত স্বাভাবিক তারিখসময় বস্তু সময় হিব্রু বিন্দু
i≥ বুলিয়ান কিনা ইনপুট বা যারা প্রতিটি পর সমান
+/ সমষ্টি Booleans
c← যেমন দোকান c( জন্য ount)
 সংখ্যাবৃদ্ধি তিন দ্বারা
 হয়ে যেতে পারে, লাইন (3, অর্থাত্ পরবর্তী, যদি হানুক্কাহ; 0, অর্থাত প্রস্থান, যদি না)

¯5↑'⍝' অন্তর্নিহিতভাবে প্রদীপের প্রতীকটির শেষ পাঁচটি অক্ষর (স্পেস সহ প্যাডিং) মুদ্রণ করুন

¯5↑'│' মাঝের মোমবাতি প্রতীকের শেষ পাঁচটি অক্ষর (স্পেস দিয়ে প্যাডিং)
s← স্টোর হিসাবে ( এস টেম ) স্টোরটি
9↑ প্রথম নয়টি অক্ষর গ্রহণ করে (স্পেস সহ প্যাডিং)
 ফলন (উপরের  অংশটি নীচে থেকে পৃথক করে
'⍝'@(... )স্পষ্টতই প্রদত্ত বাতিগুলির সাথে মুদ্রণ করুন) নিম্নলিখিত সূচকের:
⍳c হিসাবে অনেক ɩ শুরু হানুক্কাহ দিন গণনা যেমন ntegers
r← সংরক্ষণ r(জন্য Ange)
5≤ চেয়ে বড় তাদের জন্য booleans বা থেকে পাঁচ সমান (মধ্যম মোমবাতি এড়িয়ে যেতে)
r+ সূচকের পরিসীমা যোগ
10- দশ থেকে যারা বিয়োগ (এ শুরু করার অধিকার)

⍪'││┴' এই স্ট্রিংটিকে একটি কলাম ম্যাট্রিক্সে অন্তর্ভুক্ত করুন এর
9/ নয়টি অনুভূমিক অনুলিপি মুদ্রিত করুন

s স্পষ্টতই কান্ড মুদ্রণ

' ─┴─' স্পষ্টভাবে এই স্ট্রিং মুদ্রণ

উদাহরণ রান:

      menorah
2015 12 7 0 0 0
    
       
│││││││││
│││││││││
┴┴┴┴┴┴┴┴┴
    
   ─┴─
      menorah
2015 12 9 0 0 0
    
     ⍝⍝⍝
│││││││││
│││││││││
┴┴┴┴┴┴┴┴┴
    
   ─┴─
      menorah
2015 12 14 0 0 0
    
⍝⍝⍝⍝│⍝⍝⍝⍝
│││││││││
│││││││││
┴┴┴┴┴┴┴┴┴
    
   ─┴─
      menorah
2015 12 15 0 0 0
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.