ওল্ফ্রামল্যাঙ্গুয়েজ (ম্যাথমেটিকা) 187 বাইট
আকারে কিছুটা হ্রাস পেতে পারে। অনুসরণ করার ব্যাখ্যা ...
t=ToString;p=PadLeft;d=DateObject;Cases[""<>{t/@p[#,If[Length@#<5,4, 5]],t/@ p[#2,2],t/@p[#3,2]}&@@@(IntegerDigits/@#[[1]]&/@DayRange[d@#,d@#2]),x_/;PalindromeQ@x&&PrimeQ@ToExpression@x]&
পরীক্ষার মামলা
t = ToString; p = PadLeft; d = DateObject;
Cases["" <> {t /@ p[#, If[Length@# < 5, 4, 5]], t /@ p[#2, 2],
t /@ p[#3, 2]} & @@@ (IntegerDigits /@ #[[1]] & /@ DayRange[d@#, d@#2]),
x_ /; PalindromeQ@x && PrimeQ@ToExpression@x] &[{10011, 10, 1}, {10017, 1, 1}]
(* {"100111001", "100131001", "100161001"} *)
কোড ব্যাখ্যা
DayRange[d@#,d@#2]মধ্যে তারিখ সমস্ত আয় {10011, 10, 1}এবং {10017, 1, 1}। এই ক্ষেত্রে এটি প্রায় 5 বছর, 4 মাসের তারিখ (অবধি 1920 তারিখগুলি) ফেরায়। লিপ বছর বিবেচনায় নেওয়া হয়।
তারিখগুলি ওল্ফ্রাম-মানক ফর্ম্যাটে ফিরে আসে। উদাহরণস্বরূপ, প্রথম তারিখটি DateObject[List[1,1,1],"Day","Gregorian",-5.] appear হিসাবে উপস্থিত হবে `
#[[1]] & /@আমাদের উদ্বেগের সাথে প্রতিটি তারিখের তারিখের অংশটি সরিয়ে ফেলবে। উদাহরণস্বরূপ, DateObject[List[1,3,7],"Day","Gregorian",-5.]সংক্ষিপ্ত তারিখটি প্রদান করে {1,3,7},।
t/@p[#3,2]}অথবা ToString/@Padleft[#3,2]প্যাড তৃতীয় উপাদান, যথা, 7 হিসাবে "মাসের 7th প্রতিদিন" স্থায়ী "07"। মার্চ মাসের একক অঙ্কের প্রতীকের জন্য অনুরূপ প্যাডিং সরবরাহ করা হয়, যথা, 3ফেরত দেওয়া হয় "03"।
p[#, If[Length@# < 5, 4, 5]]4 বা 5 সংখ্যার স্ট্রিংয়ের দৈর্ঘ্যে পৌঁছাতে শূন্যের সাথে বছরের প্যাডগুলি। এই ক্ষেত্রে, জানুয়ারী, যাকে 1`" 00001 "হিসাবে ফিরিয়ে দেওয়া হয়।
"" <>...স্ট্রিংগুলিতে যোগ দেয়। এই ক্ষেত্রে, এটি ফিরে আসে "000010307"।
Cases[...x_ /; PalindromeQ@x && PrimeQ@ToExpression@x] সেই কেসগুলি 1920 সালের তারিখগুলির মধ্যে ফিরিয়ে দেয় যা প্যালিনড্রোম এবং প্রাইম prime
02-29কেবলমাত্র 400 বছর ধরে বিভাজ্য বা 4 দ্বারা বিভাজ্য এবং 100 দ্বারা বিভাজ্য নয়) for