আজ হোল্ড মধ্যে


15

Discordian ক্যালেন্ডার একটি বিকল্প Discordians দ্বারা ব্যবহৃত ক্যালেন্ডার হয়।

  1. ডিসকর্ডিয়ান বছরের 5 টি মরসুম থাকে, যা প্রতিটি 73 দিন স্থায়ী হয়: বিশৃঙ্খলা, বিচ্ছিন্নতা, বিভ্রান্তি, আমলাতন্ত্র এবং দ্য আফটার ম্যাথ।
  2. ডিসকর্ডিয়ান সপ্তাহে 5 দিন থাকে: সুইটমর্ন, বুমটাইম, পুঞ্জেন্ডে, প্রিকল-প্রিক্লা এবং সেটিং কমলা। প্রতি বছর সুইটমর্ন দিয়ে শুরু হয় (এবং বিশৃঙ্খলায়)।
  3. প্রতিটি ourth বছর (যা happe এন গ্রেগ সঙ্গে সারিবদ্ধ গুলি Rian লিপ হ্যাঁ গুলি), একটি অতিরিক্ত Ay কেয়স 59 এবং কেয়স 60 নামক মধ্যে ঢোকানো হয় সেন্ট টিআইবি দিবস । এটি ডিসকর্ডিয়ান সপ্তাহের বাইরে, অর্থাত সেন্ট টিবস দিবসের পরের দিন অরেঞ্জ সেট করা হবে, প্রিক্ল-প্রিকলের আগের দিন।
  4. গ্রেগরিয়ান এবং ডিসকর্ডিয়ান ক্যালেন্ডারগুলি লাইন আপ করে; উভয়ই একই দিনে শুরু হয়, যাকে গ্রেগরিয়ান ক্যালেন্ডারে প্রথম জানুয়ারী বলা হয়, এবং ডিসকর্ডিয়ান একটিতে কেওস 1।
  5. গ্রেগরিয়ান ক্যালেন্ডারে আমাদের লেডি অফ ডিসকর্ডের প্রথম বছর (YOLD 1) ছিল 1166 বিসি, যার অর্থ এই বছর (2017 AD) হ'ল হোল্ড 3131 Y
  6. ডিসকর্ডিয়ান ক্যালেন্ডারেও ছুটি থাকে, তবে তারা এই চ্যালেঞ্জের জন্য গুরুত্বপূর্ণ নয় এবং আপনার এগুলি বা তাদের সম্পর্কে কিছু আউটপুট করা উচিত নয়।

এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা আজকের তারিখকে আউটপুট করে বা প্রদান করে (মৃত্যুদন্ডের সময়):

Today is Boomtime, the 16th day of Confusion in the YOLD 3183

ফর্ম্যাটটি হ'ল "Today is $day_of_the_week, the $ordinal day of $season in the YOLD $year", যেখানে of দিন_সামান্য_সপ্তাহ সপ্তাহের মূলধন (শিরোনাম-কেস) দিন, $ অর্ডিনাল হ'ল অর্ডিনাল হিসাবে মৌসুমের দিন (1 ম, দ্বিতীয়, 3 র্থ, 4 র্থ, ...), $ মরসুমটি মূলধন (শিরোনাম-কেস) মরসুম এবং $ বছর বছর হয়।

যদি আপনার প্রোগ্রাম বা ফাংশনটি সেন্ট টিবের দিবসে কার্যকর করা হয় তবে এর পরিবর্তে আউটপুট বা ফিরে আসা উচিত "Today is St. Tib's Day in the YOLD $year"

নিয়মাবলী:

  • স্ট্যান্ডার্ড লুফোলস প্রযোজ্য।
  • যদি আপনার পছন্দের ভাষাটির বর্তমান তারিখ পাওয়ার কোনও উপায় না থাকে তবে এটি বর্তমান গ্রেগরিয়ান তারিখটিকে ইনপুট হিসাবে কোনও যুক্তিসঙ্গত বিন্যাসেও নিতে পারে।
  • এটি , সংক্ষিপ্ততম কোড (প্রতি ভাষা) জিতেছে।
  • স্পেস স্পেস ঠিক আছে।
  • বড় হাতের অক্ষরে বিষয়ে.
  • যে ddateকোনও উপায়ে কল করা নিষিদ্ধ
  • আপনার প্রোগ্রামটি 3067 থেকে 3265 ইয়েল (1901 থেকে 2099 খ্রিস্টাব্দ) পর্যন্ত কাজ করার গ্যারান্টিযুক্ত হওয়া উচিত, এই সীমার বাইরে এটি ভুল মান দিতে পারে

আরো দেখুন:



1
আমার মনে হয় আজ বিভ্রান্তির 16 তম দিন? উদাহরণটি কোন তারিখটি উপস্থাপন করে?
ব্যবহারকারী 202729


1
@ ব্যবহারকারী202729 হ্যাঁ, উদাহরণের তারিখটি যখন আমি মূলত চ্যালেঞ্জটি লিখেছিলাম তখন থেকেই আজকের তারিখটি দেখানোর জন্য আমি এটি আপডেট করব যা প্রকৃতপক্ষে বিভ্রান্তির 16 তম দিন।
L3viathan

1
@ L3viathan সেক্ষেত্রে (যারা বৃহত্তর দেশীয় ধরণের ভাষা ব্যবহার করেন) আপনি কী স্পষ্ট করে বলতে পারেন) কীভাবে সেই শতাব্দীর বছরগুলিকে কীভাবে গ্রেগরিয়ান ক্যালিতে লিপ বছর হয় না তা ডিসকর্ডিয়ান ক্যালের বিপরীতে "প্রতি ৪ র্থ বছরে" কীভাবে পরিচালনা করতে হয়? "গ্রেগরিয়ানদের সাথে প্রান্তিককরণ" সহ খ) গ্রেগরিয়ান ক্যালিয়ার পরিচিতির আগে বছরগুলি কীভাবে পরিচালনা করতে হয়। আমি সর্বাধিক পরিসীমাটি প্রস্তাব করছি যা আপনার বর্তমান অনুমান দ্বারা সঠিকভাবে সংজ্ঞায়িত হয়েছে। আপনি যদি এটিকে প্রত্যাখ্যান করেন তবে প্রোগ্রামটির সেই ব্যাপ্তির বাইরে কী করা উচিত তা আপনাকে নির্ধারণ করা উচিত। এছাড়াও আপনার বিদ্যমান উত্তরটি অবৈধ করা উচিত। en.wikedia.org/wiki/ গ্রেগরিয়ান_ক্যালেন্ডার
স্তর নদী সেন্ট

উত্তর:


5

গণিত, 403 401 বাইট

বাইটের সংখ্যা গণনা করার সংস্করণ: (স্থানগুলি সরিয়ে নতুন স্থানগুলি - দুর্ভাগ্যক্রমে এই অংশটি বেশ শক্ত)

"Setting Orange"["Sweetmorn","Boomtime","Pungenday","Prickle-Prickle"][[#~Mod~5]]<>", the "<>SpokenString@p[[Mod[#,73,1]]]~StringExtract~2<>" day of "<>{"Chaos","Discord","Confusion","Bureaucracy","The Aftermath"}[[⌈#/73⌉]]&;
Row@{"Today is ",#2," in the YOLD ",1166+#}&[#,If[4∣#,If[#2>60,%[#2-1],If[#2<60,%@#2,"St.Tib's Day"]],%@#2]]&@@FromDigits/@DateString@"ISOOrdinalDate"~StringSplit~"-"

পড়ার সংস্করণ:

"Setting Orange"["Sweetmorn", "Boomtime", "Pungenday", 
     "Prickle-Prickle"][[#~Mod~5]] <>
   ", the " <>
   SpokenString@p[[Mod[#, 73, 1]]]~StringExtract~2 <>
   " day of " <>
   {"Chaos", "Discord", "Confusion", "Bureaucracy", 
     "The Aftermath"}[[Ceiling[#/73]]] &;
Row@{
      "Today is ",
      #2,
      " in the YOLD ",
      1166 + #
      } &[#,
   If[4 ∣ #,
    If[#2 > 60, %[#2 - 1],
     If[#2 < 60, %@#2, "St.Tib's Day"]
     ], %@#2
    ]] & @@ FromDigits /@ DateString@"ISOOrdinalDate"~StringSplit~"-"

উত্তর প্রতিস্থাপন নির্বিচারে তারিখ পরীক্ষা করা সম্ভব DateString@"ISOOrdinalDate"দ্বারা DateString[{year,month,day},"ISOOrdinalDate"]জন্য year, monthএবং dayসংখ্যার দ্বারা প্রতিস্থাপিত।


আমি গণিত কোডটি কীভাবে পরীক্ষা করতে পারি?
L3viathan

6
"বিল্টিন নেই?"
জোনাথন অ্যালান

4

পাইথন 2, 423 বাইট

সংক্ষিপ্ত সংস্করণ:

import time
y,d=time.gmtime()[0::7]
t="Today is "
o=" in the YOLD "+`y+1166`
if y%4<1 and d>59:
 if d==60:print"%sSt. Tib's Day%s%d"%(t,o);quit()
 d-=1
s,e=divmod(d-1,73)
print t+["Sweetmorn","Boomtime","Pungenday","Prickle-Prickle","Setting Orange"][(d-1)%5]+", the %d%s day of %s"%(e+1,'tsnrthtddh'[min(e*(e/10-1 and 1)%10,4)::5],["Chaos","Discord","Confusion","Bureaucracy","The Aftermath"][s]+o)

দীর্ঘতর, আরও পঠনযোগ্য ফর্ম:

import time

# now = time.strptime("2017.06.11", "%Y.%m.%d")  # for testing
now = time.gmtime()
year, day_of_year = now[0::7]
leapyear = year % 4 < 1
today = "Today is "
yold = " in the YOLD " + `y+1166`

if leapyear and day_of_year>59:
    if day_of_year==60:
        print "%sSt. Tib's Day%s%d"% (today, yold)
        quit()  # dirty, but ... hey.
    day_of_year -= 1
season, day = divmod(day_of_year-1,73)

print today + \
    ["Sweetmorn", "Boomtime", "Pungenday", "Prickle-Prickle", "Setting Orange"][(day_of_year-1)%5] + \
    ", the %d%s day of %s" % (
        day+1,
        'tsnrthtddh'[min(day*(day/10-1 and 1)%10,4)::5],
        ["Chaos", "Discord", "Confusion", "Bureaucracy", "The Aftermath"][season] + yold
    )

আপডেট: দুর্দান্ত @ নীল এবং @ এরিকথ আউটগল্ফারের সাহায্যে স্থির। তবে @ জনাথনসের উত্তরটি বেশ ছোট।


2
প্রোগ্রামিং ধাঁধা এবং কোড গল্ফ স্বাগতম!
দাদা

3
এটি কি 21 তম, 22 তম, 23 তম ... 73 তম জন্য সঠিক প্রত্যয় উত্পাদন করে? @ এল থ্রিভিথান y%4<1কাজ করবে তবে আমি মনে করি 1-y%4না।
নীল


@EriktheOutgolfer করতে পারেন নির্মূল করে অন্য 4 বাইট সংরক্ষণ করা eপরিবর্তনশীল?
নীল

পিপিসিজিতে আপনাকে স্বাগতম! সুন্দর প্রথম পোস্ট। আমি হয়েছিল আপনি একটি বিট বন্ধ এখানে দিতে পরিকল্পনা এবং সেখানে কিন্তু খেয়াল ও প্রত্যয় সমস্যা সংশোধন এবং কোড আরো golfed চেয়ে আমি তাই আমি আমার নিজের সংস্করণ জমা দেওয়ার শেষ পর্যন্ত হবে।
জোনাথন অ্যালান

2

পাইথন 2 , 346 বাইট

দ্রষ্টব্য: এটি জামনের উত্তরের একটি গল্ফ (এবং স্থির) - আমি প্রথমে ভেবেছিলাম আমি একটি মন্তব্য জমা দেব, তবে শেষ পর্যন্ত আমি বেশ খানিকটা পরিবর্তন করেছি (প্লাস ডে-প্রত্যয়গুলি স্থির করা হয়েছে)।

import time
y,d=time.gmtime()[::7]
t="Today is %s in the YOLD "+`y+1166`
r=y%4<1<59<d
d-=r+1
e=d%73
print t%[["Sweetmorn","Boomtime","Pungenday","Prickle-Prickle","Setting Orange"][d%5]+", the %d%s day of "%(e+1,'snrttddh'[min(e%10+3*(e/9==1),3)::4])+["Chaos","Discord","Confusion","Bureaucracy","The Aftermath"][d/73],"St. Tib's Day"][(r*d)==58]

এটি অনলাইন চেষ্টা করুন! অথবা কয়েকটি হার্ড-কোডেড পরীক্ষার তারিখ দেখুন


আমি কি e%10*(e/9!=1)কাজ মনে করি না ?
নীল

না, তারপর, এটা প্রিন্ট হবে 11st, 12stএবং 13st(যখন e/91 শূন্য দ্বারা গুন করা হয় এবং minবাছাই হবে শূন্য)
জোনাথন অ্যালান

2

জাভাস্ক্রিপ্ট (ES6), 387 380 বাইট

f=(d=new Date(),a=d.getDate()-1,y=d.getFullYear()+1166)=>d.getMonth()?f(d,a+d.getDate(d.setDate(0))):`Today is ${y%4-2|a<59||59-a--?`Sweetmorn,Boomtime,Pungenday,Prickle-Prickle,Setting Orange`.split`,`[a%5]+`, the ${d=a%73+1}${[,`st`,`nd`,`rd`][d-10-(d%=10)&&d]||`th`} day of `+`Chaos,Discord,Confusion,Bureaucracy,The Aftermath`.split`,`[a/73|0]:`St. Tib's Day`} in the YOLD `+y

একটি alচ্ছিক তারিখের প্যারামিটার নেয়। Ungolfed:

function discordian(date) {
    var a = date.getDate();
    while (date.getMonth()) {
        date.setDate(0);
        a += date.getDate();
    }
    if (date.getYear() % 4 == 0) {
        if (a == 60) return "Today is St. Tib's day in the YOLD " + (date.getYear() + 1166);
        if (a > 60) a--;
    }
    var weekday = ['Setting Orange', 'Sweetmorn', 'Boomtime', 'Pungenday', 'Prickle-Prickle'][a % 5];
    var seasonday = (a - 1) % 73 + 1;
    var ordinal = seasonday % 10 == 1 && seasonday != 11 ? 'st' : seasonday % 10 == 2 && seasonday != '12' : 'nd' : seasonday % 10 == 3 && seasonday != '13' ? 'rd' : 'th';
    var season = ['Chaos', 'Discord', 'Confusion', 'Bureaucracy', 'The Aftermath'][Math.floor((a - 1) / 73)];
    return "Today is " + weekday + ", the " + seasonday + ordinal + " day of " + season + " in the YOLD " + (date.getYear() + 1166);
}

1

সি #, 392 বাইট

using System;s=>{var t=DateTime.Now;int d=t.DayOfYear,y=t.Year,m=d%73;return"Today is "+(DateTime.IsLeapYear(y)&d==60?"St. Tib's Day":"Sweetmorn|Boomtime|Pungenday|Prickle-Prickle|Setting Orange".Split('|')[d%5-1]+", the "+ m+(m<2|m==21|m>30?"st":m==2|m==22?"nd":m==3|m==23?"rd":"th")+" day of "+"Chaos|Discord|Confusion|Bureaucracy|The Aftermath".Split('|')[d/73])+" in the YOLD "+(y+1166);}

সম্পূর্ণ / ফর্ম্যাট সংস্করণ:

using System;

class P
{
    static void Main()
    {
        Func<string, string> f = s =>
        {
            var t = DateTime.Now;
            int d = t.DayOfYear, y = t.Year, m = d % 73;

            return "Today is " + (DateTime.IsLeapYear(y) & d == 60
                   ? "St. Tib's Day"
                   : "Sweetmorn|Boomtime|Pungenday|Prickle-Prickle|Setting Orange".Split('|')[d % 5 - 1] +
                     ", the " +
                     m +
                     (m < 2 | m == 21 | m > 30 ? "st" : m == 2 | m == 22 ? "nd" : m == 3 | m == 23 ? "rd" : "th") +
                     " day of " +
                     "Chaos|Discord|Confusion|Bureaucracy|The Aftermath".Split('|')[d / 73])
                   + " in the YOLD " + (y + 1166);
        };

        Console.WriteLine(f(null));

        Console.ReadLine();
    }
}

1

পাইথ , 295 বাইট

J.d2A<J2Kt+s<+,31 28*2t*3,30 31tH@J2=Y&&!%G4<58K!qH3=N%K73%"Today is %s in the YOLD %d",@,++@c"SweetmornZBoomtimeZPungendayZPrickle-PrickleZSetting Orange"\Z%K5%", the %d%s day of ",+N1@c"stndrdth"2h.mb,3+%NT*3q1/N9@c." yNlSFk.»&ô?Z#u!%ô6'mçM«_ôvëû¹)+¬<"\Z/K73"St. Tib's Day"q*YK59+G1166

দ্রষ্টব্য: বাইনারি রয়েছে, এখান থেকে অনুলিপি করা নিরাপদ নাও হতে পারে। টিআইও থেকে অনুলিপি-পেস্টিংয়ের কাজ করা উচিত।

এটি অনলাইন চেষ্টা করুন!

আপনি প্রতিস্থাপন নির্বিচারে তারিখ পরীক্ষা করতে পারেন .d2এই মত একটি 3-tuple (বছর, মাস, দিন) সঙ্গে শুরুতে: (2020 2 29)

এইটি কিছুটা বিরক্তিকর ছিল যেহেতু পাইথের "বছরের দিন" পাওয়ার কোনও উপায় নেই তাই আমাকে এটি নিজেই গণনা করতে হয়েছিল।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.