ম্যাটল্যাব - 89 বাইট
a=@()hour(now);disp('Legen... wait for it...');while(mod(a()+1,24)~=a())end;disp('dary!')
খুব স্ব-ব্যাখ্যামূলক। প্রথমে সিস্টেমের ঘড়ির বর্তমান সময়টি ধরতে একটি ফাংশন হ্যান্ডেল তৈরি করুন। তারপরে, Legen... wait for it...
একটি ক্যারেজ রিটার্ন সহ প্রদর্শন করুন এবং তারপরে আমরা একটি while
লুপে যাই যেখানে আমরা 1 দিয়ে যোগ করা বর্তমান ঘন্টাটি বর্তমান সময়ের সমান নয় কিনা তা পরীক্ষা করে দেখছি । যদি তা হয় তবে লুপিং চালিয়ে যান। কেবলমাত্র তাত্ক্ষণিক আগ পর্যন্ত যখন পরের ঘন্টাটি ঘটে, আমরা প্রদর্শন করি dary!
এবং তার পরে একটি ক্যারেজ রিটার্ন ঘটে।
ম্যাটল্যাবের ঘন্টা ২৪-ঘন্টা সূচকের উপর ভিত্তি করে, তাই बेस mod
২৪ সহ অপারেশনটি 11 টা (23:00) থেকে মধ্যরাত (00:00) অবধি স্পিলিং পরিচালনা করতে হবে।
গৌণ নোট
hour
ফাংশন আর্থিক টাইম সিরিজ টুলবক্স প্রয়োজন। now
ফাংশন এই সীমাবদ্ধতা বিষয়বস্তু নয়, কিন্তু এটি একটি সিরিয়াল নম্বর যা বর্তমান তারিখ এবং সময় আহরণ hour
এইভাবে বর্তমান ঘন্টা গনা ব্যবহার করে।
এটি অক্টোবায় চালাতে চান?
নিশ্চিত! অ্যাক্টেভের কাছে এই সরঞ্জামবক্স নেই বলে আমাদের কেবল hour
ফাংশনটি সংশোধন করতে হবে যাতে এটি কল করে datevec
যা 6 টি উপাদানের ভেক্টরকে ফিরিয়ে দেয় - বছর, মাস, দিন, ঘন্টা, মিনিট এবং সেকেন্ডের প্রত্যেকটির জন্য একটি। আপনাকে আউটপুটটির চতুর্থ উপাদানটি বের করতে হবে:
a=@()datevec(now)(4);disp('Legen... wait for it...');while(mod(a()+1,24)~=a())end;disp('dary!')
অতিরিক্ত অক্ষরগুলি সমাধানটি 98 বাইটে উঠিয়ে দেয়, তবে আপনি এটি অক্টোভায় চালাতে সক্ষম হবেন। ফাংশন হ্যান্ডেলের অস্থায়ী পরিবর্তনশীল ছাড়াই প্লেস ইনডেক্সিং নোট করুন।
কোনও আর্থিক সময় সিরিজের সরঞ্জামবাক্স নেই?
আপনি যদি ফিনান্সিয়াল টাইম সিরিজ টুলবক্স ছাড়াই এটি ম্যাটল্যাবটিতে চালাতে চান , কারণ আপনি অস্থায়ী ছাড়াই তাত্ক্ষণিকভাবে ভেরিয়েবলগুলিতে সূচক করতে পারেন না, এটি লিখতে আরও কিছুটা বাইট লাগবে:
disp('Legen... wait for it...');h=datevec(now);ans=h;while(mod(h(4)+1,24)~=ans(4)),datevec(now);end;disp('dary!');
এটি প্রথমে বর্তমান সময় এবং তারিখটি অর্জন করে এবং এটি ভেরিয়েবলের মধ্যে সঞ্চয় করার h
পাশাপাশি এটি স্বয়ংক্রিয় ভেরিয়েবল নামে পরিচিত হিসাবে সংরক্ষণ করে ans
। এর পরে, আমরা লুপিং করে যাচ্ছি এবং পরবর্তী ঘন্টাটি পরবর্তী সময়ের সমান নয় কিনা তা খতিয়ে দেখছি। প্রতিটি পুনরাবৃত্তিতে, আমরা বর্তমান সময় এবং তারিখের সাথে স্বয়ংক্রিয় ভেরিয়েবল আপডেট করতে থাকি। পরবর্তী সময়টি বর্তমান সময় এবং তারিখের সাথে মিলে যাওয়ার সাথে সাথে আমরা স্ট্রিংয়ের শেষ অংশটি প্রদর্শন করি এবং প্রস্থান করি। এটি বাইট গণনা 114 এ ধাক্কা দেয়।
এছাড়াও খেয়াল করুন যে আপনি এটি অনলাইনে চেষ্টা করতে পারবেন না। অনলাইনে দোভাষীদের কোডটি কখন কার্যকর while
হবে তার একটি সময়সীমা থাকবে এবং পরবর্তী ঘন্টার জন্য এটি অপেক্ষা করা একটি লুপ, কোডটি চালানোর জন্য অপেক্ষা করার সময় আপনি একটি সময়সীমা পেয়ে যাবেন। আপনি যেটা করতে পারেন তা হ'ল এটি নিজের মেশিনে চালানো এবং এটি কার্যকর কিনা তা পরীক্ষা করে দেখুন।