বাশ, by 78 বাইট (একটি BSD ইউটিলিটি ব্যবহার করে) বা by৯ বাইট (বিএসডি বিহীন)
এটি @ ডিজিটালট্রামা এবং @ এইচডিডি-র দুর্দান্ত -১-বাইট বাশ সমাধানের চেয়ে কিছুটা দীর্ঘ, তবে আমি এখানে বেস 60০ তে সংখ্যা ব্যবহার করার ধারণাটি পছন্দ করেছি; আমি আগ্রহী যদি কেউ এটিকে আরও কিছুটা গল্ফ করতে পারে।
বিএসডি-স্ট্যান্ডার্ড জট ইউটিলিটি সহ:
jot '-wx=`dc<<<60do3^%d+n`;((`dc<<<$x++'$1'-n`))||tr \ :<<<${x:3}' 86400 0|sh
আরও সর্বজনীনভাবে উপলব্ধ seq ইউটিলিটি সহ:
seq '-fx=`dc<<<60do3^%.f+n`;((`dc<<<$x++'$1'-n`))||tr \ :<<<${x:3}' 0 86399|sh
ধারণাটি 0 থেকে 83699 পর্যন্ত সংখ্যা উত্পন্ন করা এবং ডিসি ব্যবহার করে তাদের 60 কে বেস 60 এ রূপান্তর করতে হবে। ডিসির বেস -60 আউটপুটে "অঙ্কগুলি" 2-সংখ্যার নম্বর থেকে শুরু করে 59 হয়, স্পেসগুলি "অঙ্কগুলি" পৃথক করে, তাই এটি প্রায় প্রয়োজনীয় বিন্যাসে 00 00 00 থেকে 23 59 59 পর্যন্ত সমস্ত কাঙ্ক্ষিত সময়গুলি তালিকাভুক্ত করে।
আপনি যদি আক্ষরিকভাবে এটি চালিয়ে যান, তবে, 60 below 2 এর নীচের সংখ্যাগুলি 60 বেসে 3-অঙ্কের সংখ্যা নয়, তাই প্রাথমিক 00 বা 00 00 অনুপস্থিত। যে কারণে, আমি আসলে 60 ^ 3 থেকে 60 ^ 3 + 83699 থেকে সংখ্যাগুলি তৈরি করছি; এটি নিশ্চিত করে যে উত্পন্ন সমস্ত সংখ্যার ভিত্তি 60 তে হ'ল 4 অঙ্কের দীর্ঘ eventually এটি অবধি ঠিক আছে যতক্ষণ না শেষ পর্যন্ত আমি অতিরিক্ত প্রথম সংখ্যা (01) ফেলে রাখি যা প্রয়োজন নেই।
সুতরাং, একবারে কাঙ্ক্ষিত সময়গুলি উত্পন্ন হওয়ার পরে, আমি কেবল প্রতিটি ডাব্লু 010 00 00 থেকে 01 23 59 59 এর মধ্যে নিয়েছি, শেষ তিনটি সংখ্যা যুক্ত করব এবং যুক্তিটি $ 1 কে বিয়োগ করুন। যদি এটি 0 হয় তবে আমি তৃতীয় অক্ষর থেকে চতুর্ভুজের সমস্ত কিছু ("01" দূরে ছুঁড়ে ফেলেছি) থেকে নিয়ে যাচ্ছি, স্পেসগুলিকে কোলনে রূপান্তর করতে, এবং ফলাফলটি মুদ্রণ করতে পারি।