এটি একটি বার্ষিক কাজ, ঠিক আছে


22

1≤n≤365 নম্বর দেওয়া হয়েছে, "দিন-নাম্বার মাস" ফর্ম্যাটে বছরের নবম দিন আউটপুট। উদাহরণস্বরূপ, 1 দেওয়া, আপনার "অফ" না করে "1 লা জানুয়ারী" আউটপুট করা উচিত।

গ্রেগরিয়ান ক্যালেন্ডার ব্যবহার করা হবে এবং প্রোগ্রামটি লিপ বছরের জন্য হিসাব করা উচিত নয়, সুতরাং আপনার প্রোগ্রামটি কখনই কোনও পরিস্থিতিতে "29 শে ফেব্রুয়ারি" আউটপুট করা উচিত নয়। যে কোনও পদ্ধতি ব্যবহার করা যেতে পারে, যতক্ষণ না এটি আগে উল্লিখিত "ডে-নাম্বার মাস" ফর্ম্যাটটিকে অনুসরণ করে। আপনার প্রোগ্রামটিও সঠিকভাবে অর্ডিনালগুলি আউটপুট করা উচিত, এর অর্থ এটি সর্বদা 1 ম, 2 য়, 3 য় আউটপুট হওয়া উচিত যথাক্রমে 1, 2 বা 3 কোনও ইনপুটের জন্য দিন সংখ্যা হওয়া উচিত। শীর্ষস্থানীয় স্থান বা অন্যান্য শোধকের অনুমতি রয়েছে।

এটি কোড গল্ফ, তাই অক্ষরের দ্বারা সংক্ষিপ্ততম সমাধানটি জয়ী হয়।

পরীক্ষার কেস:

1 gives 1st January
2 gives 2nd January
3 gives 3rd January
365 gives 31st December
60 gives 1st March
11 gives 11th January

4
এছাড়াও, আপনার কি সংখ্যা> 365 নম্বরে ত্রুটি বার্তা জোর করা দরকার? প্রোগ্রামটি কি কেবল এটিই অবৈধ ইনপুট ধরে নিতে পারে এবং এটি হ্যান্ডেল করার প্রয়োজন হবে না?
আর

5
সবাই আদি ইংরেজী স্পিকার না হওয়ায় আপনি 11, 12 এবং 13 নম্বরটি "তম" পেতে যোগ করতে পারেন, "1" "" "" "শেষ", "2" "" এনডি "," 3 "দিয়ে শেষ হওয়া সংখ্যাগুলি "আরডি" পান, এবং অন্যান্য সমস্ত "তম" পান।
এডম

9
ওহ, উত্তর এত তাড়াতাড়ি গ্রহণ করবেন না। বিশেষ করে ভুল উত্তর না !
এডম

6
আপনি অন্তত যোগ করা উচিত 11(11 তম জানুয়ারি) এবং 21(21 পরীক্ষা ক্ষেত্রে জানুয়ারি)।
আর্নৌল্ড

1
এবং যখন আপনি পরীক্ষার কেসগুলি সম্পাদনা করছেন, সম্ভবত আপনার পরীক্ষার কেস ফর্ম্যাটটি ঠিক কী তা নির্দিষ্ট করুন। উত্তরদাতাদের দু'জন মনে করেছেন যে 123=এটি প্রয়োজনীয় আউটপুটটির অংশ ছিল। বা কেবল এমন কিছু পড়ার জন্য আপনার পরীক্ষার কেসগুলি সম্পাদনা করুন: 365দেয়31st December
অ্যাডম

উত্তর:


9

পিএইচপি ,38 40 30 28 বাইট

<?=date("jS F",86399*$argn);

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

সঙ্গে চালান php -nFইনপুট থেকে STDIN। উদাহরণ (উপরে বর্ণিত স্ক্রিপ্ট y.php):

$ echo 1|php -nF y.php
1st January
$ echo 2| php -nF y.php
2nd January
$ echo 3| php -nF y.php
3rd January
$ echo 11|php -nF y.php
11th January
$ echo 21|php -nF y.php
21st January
$ echo 60|php -nF y.php
1st March
$ echo 365|php -nF y.php
31st December

ব্যাখ্যা

day number * number of seconds per day(86400) গুন করে 1970 সালে কাঙ্ক্ষিত দিনের জন্য (সুবিধাজনকভাবে একটি লিপ বছর নয়) একটি যুগের টাইমস্ট্যাম্প তৈরি করুন । যাইহোক, এটি একদিনের বেশি ফলন করবে তাই পরিবর্তে number of seconds in a day - 1(86399) দ্বারা গুণ করুন যা ইনপুট সংখ্যাগুলির পরিসরের জন্য (1≤n≤365) প্রতিটি সঠিক দিন শেষ হওয়ার টাইমস্ট্যাম্পের সাথে ফলাফল করবে। তারপরে আউটপুট জন্য কেবল পিএইচপি এর অন্তর্নির্মিত তারিখ বিন্যাস ব্যবহার করুন ting


কেন -nপ্রয়োজনীয়?
ভেন

@ তবে এটি সব ক্ষেত্রেই নাও হতে পারে তবে কেবল স্থানীয় php.ini এ এমন কোনও সেটিংস অক্ষম করে যা বেমানান আচরণ তৈরি করতে পারে।
640KB

6

জেলি ,  79 78  77 বাইট

-1 বাগ সংশোধন করে :) (সূচীটি সন্ধানের জন্য প্রাক-ট্রান্সপোজ করা উচিত নয়, পোস্ট-বিপরীত হওয়া উচিত, তবে তারপরে আমরা মাথার বদলে পুচ্ছ করতে পারি)
-1 প্রতিবিম্বটি ব্যবহার করে ( ⁽©ṅB+30_2¦2-> ⁽0ṗb4+28m0)

⁽0ṗb4+28m0SRṁRƲœiµṪȮ%30%20«4ị“nḄƲf⁷»s3¤Ṗ,ị“£ṢtẒ⁽ẹ½MḊxɲȧėAṅ ɓaṾ¥D¹ṀẏD8÷ṬØ»Ḳ¤$K

একটি পূর্ণ প্রোগ্রাম যা ফলাফল মুদ্রণ করে

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

কিভাবে?

এটি পরে আপডেট হবে ...

⁽©ṅB+30_2¦2SRṁRƲZœiµḢȮ%30%20«4ị“nḄƲf⁷»s3¤Ṗ,ị“...»Ḳ¤$K - Main Link: integer, n
⁽©ṅB+30_2¦2SRṁRƲZœi - f(n) to get list of integers, [day, month]
⁽©ṅ                 - compressed literal 2741
   B                - to a list of binary digits -> [ 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1]
    +30             - add thirty                    [31,30,31,30,31,30,31,31,30,31,30,31]
         ¦          - sparse application...
        2           - ...to indices: [2]
       _  2         - ...action: subtract two       [31,28,31,30,31,30,31,31,30,31,30,31]
               Ʋ    - last four links as a monad - i.e. f(x):
           S        -   sum x                       365
            R       -   range                       [1..365]
              R     -   range x (vectorises)        [[1..31],[1..28],...]
             ṁ      -   mould like                  [[1..31],[32..59],...]
                Z   - transpose                     [[1,32,...],[2,33,...],...]
                 œi - 1st multi-dimensional index of n  -> [day, month]

µḢȮ%30%20«4ị“nḄƲf⁷»s3¤Ṗ,ị“...»Ḳ¤$K - given [day, month] format and print
µ                                  - start a new monadic chain - i.e. f(x=[day, month])
 Ḣ                                 - head -- get the day leaving x as [month])
  Ȯ                                - print it (with no newline) and yield it
   %30                             - modulo by thirty
      %20                          - modulo by twenty
         «4                        - minimum of that and four
                     ¤             - nilad followed by link(s) as a nilad:
            “nḄƲf⁷»                -   dictionary words "standard"+" the" = "standard the"
                   s3              -   split into threes = ["sta","nda","rd ","the"]
           ị                       - index into
                      Ṗ            - remove rightmost character
                               ¤   - nilad followed by link(s) as a nilad:
                         “...»     -   dictionary words "January"+" February"+...
                              Ḳ    -   split at spaces = ["January","February",...]
                        ị          - index into (vectorises across [month])
                       ,           - pair                  e.g. ["th", ["February"]]
                                K  - join with spaces           ["th ", "February"]
                                   - print (implicitly smashes)   th February

4
"স্ট্যান্ডার্ড দ্য" ট্রিকটি আশ্চর্যজনক।
ভেন

আমি @ ভেনের সাথে একমত , দুর্দান্ত কৌশল! এটি আমার 05AB1E উত্তরে একটি বাইটও সংরক্ষণ করেছে স্ট্রিংয়ের "thstndrd"আকার 2 ( .•oθ2(w•2ô) এর অংশগুলিতে বিভক্ত হওয়ার তুলনায় , তাই ধন্যবাদ। :)
কেভিন ক্রুইজসেন

1
এটি আমার দেখা দীর্ঘতম জেলি প্রোগ্রামগুলির মধ্যে একটি হতে হবে।
জেএডি

6

সি # (ভিজ্যুয়াল সি # ইন্টারেক্টিভ সংকলক) , 115 113 109 98 বাইট

g=>$"{f=(g=p.AddDays(g-1)).Day}{"tsnr"[f=f%30%20<4?f%10:0]}{"htdd"[f]} {g:MMMM}";DateTime p;int f;

9 বাইট সংরক্ষণ করার জন্য @ সোমনকে ধন্যবাদ

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


1
@ কেভিন ক্রুইজসেন আমি মডিউলগুলি অর্ডারের বাইরে পেয়েছি, এখনই ঠিক করা উচিত।
অবজ্ঞানের

.code.tio(2,22): error CS0165: Use of unassigned local variable 'p'এটি প্রদর্শিত হয় যে স্ট্রাক্ট জিনিসটি কাজ করে না।
জেএডি

var g=new DateTime().AddDays(n-1)যদিও কাজ করে
জেএডি

@ জেএডি আমার পক্ষ থেকে ভুল হয়েছে, ঠিক আছে
অজ্ঞতার


5

পাইথন 3.8 (প্রাক রিলিজ) , 112 বাইট

lambda x:str(d:=(t:=gmtime(x*86399)).tm_mday)+'tsnrhtdd'[d%5*(d%30%20<4)::4]+strftime(' %B',t)
from time import*

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

অদ্ভুতভাবে যথেষ্ট, আমার প্রথম বন্ধনী তৈরি করতে হবে না d:=(t:=gmtime(~-x*86400) , সম্ভবত কারণ অনুবাদক কেবলমাত্র ()অ্যাসাইনমেন্ট এক্সপ্রেশনটির চারপাশে অক্ষর রয়েছে এবং তা এক্সপ্রেশনটি নিজেই প্রথম বন্ধনীরূপে নেই কিনা তা পরীক্ষা করে।

-2 গৌহকে ধন্যবাদ ।
-5 xnor ধন্যবাদ ।


5

পার্ল 6 , 166 161 বাইট

{~(.day~(<th st nd rd>[.day%30%20]||'th'),<January February March April May June July August September October November December>[.month-1])}o*+Date.new(1,1,1)-1

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

হার্ডকোডগুলি সমস্ত মাসের নাম, যা বেশিরভাগ স্থান নেয়। ম্যান, পার্ল 6 এর জন্য একটি যথাযথ তারিখের ফর্ম্যাটার দরকার।


4

হ্যাক, 115 59 39 বাইট

$x==>date("jS F",mktime(0,0,0,1,$x));

যেহেতু আমি গল্ফ করার সময় @gwaugh আমার মত একই সমাধান পেয়েছিল, তাই আমি হ্যাকের পরিবর্তে এটি পোস্ট করছি :)।


বাহ, মহান মন একসাথে চিন্তা করে। :) আপনাকে +1 স্যার!
640KB

@ গিঃ হা হা, আমি জানতাম না যে আমি কেবল একটি শীর্ষ স্তরের প্রোগ্রাম করতে পারি। আমি এটিকে শীর্ষ স্তরেরও তৈরি করতে আমার সম্পাদনা করব এবং আরও ভাল স্কোর পাওয়ার একটি উপায় খুঁজে পাব e ;-)
ভেন

1
@gwaugh এর পরিবর্তে আমার হ্যাক তৈরি করেছে।
ভেন

1
আপনি সম্ভবত আপনার mktime()কলটিতে একটি নন-লিপ ইয়ার প্যারামিটার নির্দিষ্ট করতে চাইবেন অন্যথায় যদি লিপ বছরে চালানো হয় তবে এটি ভুল আউটপুটটি ফিরিয়ে দেবে। (আমার উত্তর করতে হবে)।
640KB

4

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

@ বর্ধিত ধন্যবাদ 4 টি বাইট সংরক্ষণ করুন

d=>(n=(d=new Date(1,0,d)).getDate())+([,'st','nd','rd'][n%30%20]||'th')+' '+d.toLocaleString('en',{month:'long'})

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

মন্তব্য

d =>                     // d = input day
  ( n =                  //
    ( d =                // convert d to
      new Date(1, 0, d)  //   a Date object for the non leap year 1901
    ).getDate()          // save the corresponding day of month into n
  ) + (                  //
    [, 'st', 'nd', 'rd'] // ordinal suffixes
    [n % 30 % 20]        // map { 1, 2, 3, 21, 22, 23, 31 } to { 'st', 'nd', 'rd' }
    || 'th'              // or use 'th' for everything else
  ) + ' ' +              // append a space
  d.toLocaleString(      // convert d to ...
    'en',                // ... the English ...
    { month: 'long' }    // ... month name
  )                      //

তারিখ বিল্ট-ইনগুলি ছাড়া 188 বাইট

f=(d,m=0)=>d>(k=31-(1115212>>m*2&3))?f(d-k,m+1):d+([,'st','nd','rd'][d%30%20]||'th')+' '+`JanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecember`.match(/.[a-z]*/g)[m]

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


প্রতি মাসের 11 তম, 12 তম, 13 তম ব্যর্থ
সমাপ্ত ডেটা

1
@ এক্সপায়ার্ডডাটা এই রিপোর্ট করার জন্য ধন্যবাদ। এখনই স্থির।
আর্নৌল্ড

আমার মন্তব্য উপেক্ষা করুন, আমি একটি ID10T ত্রুটি করেছি।
এসাগ্ল্যান্ট

আমি নিশ্চিত নোডেজ কীভাবে ভাষা ট্যাগ হ্যান্ডেল করে 0তা ব্যবহার করার মতো কাজ করবে বলে মনে হয় "en"। এবং পরিবর্তন toLocaleStringকরে 4 বাইট সাশ্রয় হবে। 110 বাইট
tsh

@ টিএসএস মনে হয় এটি অবিজ্ঞাত toLocaleStringস্ট্রিং বা একটি সংখ্যাসূচক মান পাস করার পরে সিস্টেম ডিফল্ট সেটিংস ব্যবহার করছে। সুতরাং, এটি কিছু হতে পারে। এই প্যারামিটারটি মূলত একটি টিআইও ইনস্ট্যান্সে অকার্যকর, কারণ যেভাবেই কেবল ইংরেজী লোকাল ইনস্টল করা আছে
আর্নৌল্ড

4

স্মলটালক, 126 বাইট

d:=Date year:1day:n.k:=m:=d dayOfMonth.10<k&(k<14)and:[k:=0].o:={#st.#nd.#rd}at:k\\10ifAbsent:#th.m asString,o,' ',d monthName

1
আমি স্মার্টটাক জানি না, তবে এটি কি সঠিক 11th,12th,13th? আমি যদি সঠিকভাবে পড়ি তবে আপনি দিনটি 10 ​​দ্বারা পূর্ণসংখ্যায় ভাগ করুন, তবে এর অর্থ 11st,12nd,13rdহ'ল কোডটি অন্য কোনও কিছু ঠিক না করে যদি আমি অজানা থাকি।
কেভিন ক্রুইজসেন

@ কেভিন ক্রুইজসেন আপনি ঠিক বলেছেন। এই আমার মনোযোগ কল করার জন্য ধন্যবাদ। এটি ঠিক করতে আমাকে আরও কিছু বাইট ব্যয় করতে হবে।
লেয়ানড্রো ক্যানিগলিয়া

1
@ কেভিন ক্রুইজসেন, হয়ে গেছে। আবার ধন্যবাদ.
লেয়ানড্রো ক্যানিগলিয়া

3

সি # (ভিজ্যুয়াল সি # ইন্টারেক্টিভ সংকলক) , 141 139 133 124 122 বাইট

a=>{var d=s.AddDays(a-1);int x=d.Day,m=x%30%20;return x+"thstndrd".Substring(m<4?m*2:0,2)+d.ToString(" MMMM");};DateTime s

ধন্যবাদ Arnauld 11,12,13th সরানোর 4 বাইট সংরক্ষণ দ্রুত পদ্ধতির জন্য

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


সি # 8 ব্যবহার করে এটি এটিকে হ্রাস করা যেতে পারে: a=>{var d=s.AddDays(a-1);int x=d.Day,m=x%30%20;return x+"thstndrd"[(m<4?m*2:0)..2]+$" {d:MMMM}";};DateTime s ইন্টারেক্টিভ সংকলক তার ভাষা স্তরটিকে "প্রাকদর্শন" হিসাবে এই মুহুর্তে সমর্থন করে বলে মনে হয় না।
আর্কানক্স


আমি দৃ sure়ভাবে নিশ্চিত যে আপনাকে DataTime s
অব ইগনিজার

3

আর , 158 134 বাইট

-২৪ বাইট @ নিক কেনেডি 'স্ট', 'এনডি', 'আরডি', এবং 'ম' গল্ফ করার জন্য ধন্যবাদ!

f=format;paste0(a<-as.double(f(d<-as.Date(scan(,''),'%j'),'%e')),`if`((a-1)%%10>2|a%/%10==1,'th',c("st","nd","rd")[a%%10]),f(d,' %B'))

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



হ্যাঁ, আমার `if`আরও ভাল শেখা দরকার । ধন্যবাদ।
সিটি হল

3

মাইএসকিউএল, 47 45 42 বাইট

SELECT DATE_FORMAT(MAKEDATE(1,n),"%D %M")

1901 যে কোনও বছর লিপ বছর ছিল না / প্রতিস্থাপন করা যেতে পারে।

সম্পাদনা করুন: স্পেস অপসারণ করে দুটি বাইট সংরক্ষণ করেছেন এবং বছর তিনে পরিবর্তন করে আরও তিনটি বাইট সংরক্ষণ করেছেন, @ অজ্ঞতার সংক্ষেপণকে ধন্যবাদ ।


আপনি কি 1901, nস্ট্রিং এবং স্ট্রিংয়ের মধ্যে ফাঁকা স্থানগুলি সরাতে পারবেন ?
অজ্ঞতার মূর্ত প্রতীক

এম্বেডিমেন্টফ অজানা হ্যাঁ পারি, ধন্যবাদ!
নিকোলাসবি

এছাড়াও, কেন 1901 1-এর মতো এক বছরের সাথে প্রতিস্থাপন করা হবে না? 1 কোনও লিপ বছর নয়, এবং এটি 3 বাইট সংক্ষিপ্ত
32-এ অজ্ঞতার প্রতিমূর্তি

@ এম্বোডিমেন্টফ অজ্ঞতাটি সম্পন্ন হয়েছে এবং হয়েছে :-)
নিকোলাসবি

3

05AB1E , 81 79 78 76 75 74 73 71 70 69 বাইট tes

•ΘÏF•ºS₂+.¥-D0›©ÏθDT‰ć≠*4šß„—ÊØ3ôsè¨ð”……‚應…ä†ï€¿…Ë…ê†Ä…æ…Ì…Í”#®OèJ

-9 বাইটস @ গ্রিমিকে ধন্যবাদ ।
-1 বাইট ধন্যবাদ @ জোনাথন অ্যালান এর standard theকৌশলটির জন্য th,st,nd,rd, যা তিনি তাঁর জেলি উত্তরে ব্যবহার করেছিলেন

এটি অনলাইনে চেষ্টা করুন বা সম্ভাব্য সমস্ত পরীক্ষার কেস যাচাই করুন

ব্যাখ্যা:

•ΘÏF        # Push compressed integer 5254545
     º       # Mirror it vertically: 52545455454525
      S      # Converted to a list of digits: [5,2,5,4,5,4,5,5,4,5,4,5,2,5]
       ₂+    # And 26 to each: [31,28,31,30,31,30,31,31,30,31,30,31,28,31]
             # (the additional trailing 28,31 won't cause any issues)
           # Undelta this list (with automatic leading 0):
             #  [0,31,59,90,120,151,181,212,243,273,304,334,365,393,424]
  -          # Subtract each from the (implicit) input-integer
   D0       # Duplicate the list, and check for each if it's positive (> 0)
      ©      # Store the resulting list in the register (without popping)
       Ï     # Only leave the values at those truthy indices
        θ    # And get the last value from the list, which is our day
D            # Duplicate this day
 T          # Take the divmod-10 of this day: [day//10, day%10]
   ć         # Extract the head; pop and push the remainder-list and head: [day%10], day//10
            # Check whether the day//10 is NOT 1 (0 if day//10 == 1; 1 otherwise)
     *       # Multiply that by the [day%10] value
      4š     # Prepend a 4 to this list
        ß    # Pop and push the minimum of the two (so the result is one of [0,1,2,3,4],
             # where the values are mapped like this: 1..3→1..3; 4..9→4; 10..19→0; 20..23→0..3; 24..29→4; 30,31→0,1)
 thŠØ       # Push dictionary string "th standards"
      3ô     # Split it into parts of size 3: ["th ","sta","nda","rds"]
        sè   # Swap and index the integer into this list (4 wraps around to index 0)
          ¨  # And remove the trailing character from this string
ð            # Push a space " "
”……‚應…ä†ï€¿…Ë…ê†Ä…æ…Ì…Í”
             # Push dictionary string "December January February March April May June July August September October November"
 #           # Split on spaces
  ®          # Push the list of truthy/falsey values from the register again
   O         # Get the amount of truthy values by taking the sum
    è        # Use that to index into the string-list of months (12 wraps around to index 0)
J            # Join everything on the stack together to a single string
             # (and output the result implicitly)

আমার এই 05AB1E টিপটি দেখুন তা বুঝতে:

  • (বিভাগটি অভিধানটি কীভাবে ব্যবহার করবেন? ) ”……‚應…ä†ï€¿…Ë…ê†Ä…æ…Ì…Í”হয়"December January February March April May June July August September October November"
  • (বিভাগটি অভিধানটি কীভাবে ব্যবহার করবেন? ) …thŠØহয়"th standards"
  • (বিভাগটি বড় সংখ্যার সংকোচনের উপায় কী? ) •ΘÏF•হয়5254545

1
সংক্ষেপণের জন্য 5-28 + ব্যবহার করে -2 বাইট: টিআইও
গ্রিমি

1
এস ব্যবহার করা ভাল ধারণা, আবার -1 বাইট: টিআইও
গ্রিমি

1
@ গ্রিমি -1 বাইটের জন্য ধন্যবাদ •EË7Óæ•S₂+, তবে আপনার -3 গল্ফ দুর্ভাগ্যজনকভাবে কাজ করে না। ইনডেক্সিং স্বয়ংক্রিয়ভাবে 05AB1E এ মোড়ানো হয়, তাই 5st,6nd,7rd,25st,26nd,27rd,29stভুল হবে। পিএস: যদি এটি কাজ করত তবে অতিরিক্ত -1 এর জন্য থাকতে পারত । :)
কেভিন ক্রুইজসেন

1
-1 আবার ("স্ট্যান্ডার্ড" এর পরিবর্তে "ম মান" ব্যবহার করে প্রয়োজনীয়তা সরিয়ে দেয় Á)।
গ্রিমি

1
-1 ( •C.ñÒā•থেকে •ΘÏF•º, অতিরিক্ত অঙ্কগুলি কোনও বিষয় নয়)
গ্রিমি

2

বাশ, 82 80 বাইট

-2 বাইটস কেবলমাত্র ASCII- এর জন্য ধন্যবাদ

a=(th st nd rd);set `printf "%(%e %B)T" $[$1*86399]`;echo $1${a[$1%30%20]-th} $2

Tio

বাশ + জিএনইউ তারিখ, 77 বাইট

a=(th st nd rd);set `date -d@$[$1*86399] +%e\ %B`;echo $1${a[$1%30%20]-th} $2


@ এএসসিআইআই-হ্যাঁ, হ্যাঁ প্রতিটি দিনের জন্য 100 টি বিয়োগ করা, 100 * 365 = 36500s যা এক দিনের চেয়ে কম (86400), 86399 (দিনের
বেলা

: / এখনও সত্যই দীর্ঘ দেখায় তবে এর থেকে ভাল আর কোনও উপায় খুঁজে পায় নি
এএসসিআইআই-কেবল

2

শেল + কোর্টিলস, 112 90 বাইট

date -d0-12-31\ $1day +%-dth\ %B|sed 's/1th/1st/;s/2th/2nd/;s/3th/3rd/;s/\(1.\).. /\1th /'

এটি অনলাইন চেষ্টা করুন! লিঙ্কে পরীক্ষার কেস অন্তর্ভুক্ত রয়েছে। সম্পাদনা করুন: @ নাহুয়েলফৌইলুলকে 22 বাইট সংরক্ষণ করা হয়েছে ব্যাখ্যা:

date -d0-12-31\ $1day

অ-লিপ বছরের আগে প্রথম দিনের পরে দিনের সংখ্যা গণনা করুন। (দুঃখের বিষয় আপনি এ থেকে আপেক্ষিক তারিখ গণনা করতে পারবেন না@-1 )

+%-dth\ %B|sed

মাসের দিন আউটপুট করুন (শূন্যের দিকে না রেখে), th এবং পুরো মাসের নাম ।

's/1th/1st/;s/2th/2nd/;s/3th/3rd/;

ঠিক 1st, 2nd, 3rd, 21st, 22nd, 23rdএবং 31st

s/\(1.\).. /\1th /'

পুনরুদ্ধার করুন 11thথেকে 13th


আমি আমার পরে এই উত্তর, বাঁচাতে পারে দেখেছি 18bytes এক sed কমান্ড ব্যবহার করে, এছাড়াও sমধ্যে daysমুছে ফেলা হতে পারে, এবং 19এর মধ্যে1969
Nahuel Fouilleul

@ নাহুয়েলফুইলুল যে শেষটি বাশ-ইসম ব্যবহার করেছে তাই আলাদা উত্তর হিসাবে পোস্ট করা উচিত, তবে অন্যান্য টিপসের জন্য ধন্যবাদ!
নীল

2

জেলি , 115 114 101 97 বাইট

%30%20¹0<?4Ḥ+ؽị“thstndrd”ṭ
“5<Ḟ’b4+28ÄŻ_@µ>0T,>0$ƇZṪµ1ịị“£ṢtẒ⁽ẹ½MḊxɲȧėAṅ ɓaṾ¥D¹ṀẏD8÷ṬØ»Ḳ¤,2ịÇƊṚK

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

জেলি স্ট্যান্ডার্ড দ্বারা দীর্ঘ, কিন্তু প্রথম নীতি থেকে সম্পন্ন।

স্ট্রিং কম্প্রেশন সম্পর্কে আরও ভাল বোঝার মাধ্যমে 13 বাইট সংরক্ষণ করার জন্য @ জোনাথন অ্যালানকে ধন্যবাদ।


“£ṢtẒ⁽ẹ½MḊxɲȧėAṅ ɓaṾ¥D¹ṀẏD8÷ṬØ»Ḳ¤13 টি সাশ্রয় করবে (কমপ্রেস। অভিধান অভিধান একটি শীর্ষস্থানীয় স্থান অনুসন্ধান করে এবং এর জন্য বিশেষ হ্যান্ডলিং রয়েছে)।
জোনাথন অ্যালান


1

লাল , 124 বাইট

func[n][d: 1-1-1 + n - 1[rejoin[d/4 either 5 > t: d/4 % 30 % 20[pick[th st nd rd]t + 1]['th]]pick system/locale/months d/3]]

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

যোগ করে n- 1 দিন 1-1-1 (1-জানুয়ার -2001) একটি তারিখ গঠনের জন্য, আর্যানল্ডের পদ্ধতিটি মাসের প্রত্যয়গুলিতে সূচক হিসাবে ব্যবহার করার চেয়ে বেশি। খুব খারাপ রেড 1-ইনডেক্সড, এর জন্য অতিরিক্ত টুইট করা দরকার। ভাল জিনিস যে রেড মাসের নামগুলি জানে :)


1

এপিএল (এনএআরএস), 235 চর, 470 বাইট

{k←↑⍸0<w←+\v←(1-⍵),(12⍴28)+13561787⊤⍨12⍴4⋄k<2:¯1⋄d←1+v[k]-w[k]⋄(⍕d),({d∊11..13:'th'⋄1=10∣d:'st'⋄2=10∣d:'nd'⋄3=10∣d:'rd'⋄'th'}),' ',(k-1)⊃(m≠' ')⊂m←'January February March April May June July August September October November December'}

13561787 হল এমন সংখ্যা যা বেস 4 এ প্রতি মাসের দৈর্ঘ্য অর্জনের জন্য (12-28) যোগ করা যায় ... পরীক্ষা:

  f←{k←↑⍸0<w←+\v←(1-⍵),(12⍴28)+13561787⊤⍨12⍴4⋄k<2:¯1⋄d←1+v[k]-w[k]⋄(⍕d),({d∊11..13:'th'⋄1=10∣d:'st'⋄2=10∣d:'nd'⋄3=10∣d:'rd'⋄'th'}),' ',(k-1)⊃(m≠' ')⊂m←'January February March April May June July August September October November December'}     
  ⊃f¨1 2 3 365 60 11
1st January  
2nd January  
3rd January  
31st December
1st March    
11th January 


-2

পাইথন ঘ , 95 বাইট

তারিখিত: পি

from datetime import *;f=lambda s:(datetime(2019,1,1)+timedelta(days=s-1)).strftime("%d of %B")

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


2
এটি অর্ডিনাল প্রত্যয় তৈরি করে না এবং দিনের সংখ্যাটিতে শীর্ষস্থানীয় শূন্য রয়েছে। দ্যofএছাড়াও অপ্রয়োজনীয়
জো রাজা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.