ভার্নর ভিঞ্জের দুর্দান্ত এবং আকর্ষণীয় বই এ ডিপনেস ইন দ্য স্কাইতে (যা, আমি অত্যন্ত উচ্চারণের জন্য 1 টির পরামর্শ দিয়েছি ), বিভিন্ন তারকা ব্যবস্থায় ছড়িয়ে পড়া সংস্কৃতি, কং হো -তে "দিন," "মাস," "এর কোনও ধারণা নেই" বছর, "ইত্যাদি, এবং তাই এক অনন্য টাইমকিপিং সিস্টেম রয়েছে যা পুরো সময়টিকে সেকেন্ডে পরিমাপ করে। সর্বাধিক ব্যবহৃত ইউনিটগুলি হ'ল কাসে (কিলোসেকেন্ড), ম্যাসেক (মেগাসেকেন্ড) এবং গেসে (গিগাসেকেন্ড)। আমার নিজের বইয়ের অনুলিপি থেকে একটি কার্যকর চার্ট রয়েছে (যেহেতু আমি এটি অনলাইনে খুঁজে পাচ্ছি না):
আপনি বর্তমানে ফাম নুওয়েনে বিমান চালাচ্ছেন এবং আপনি " পৃথিবী " নামক এক অদ্ভুত, অজানা গ্রহের কাছ থেকে একটি বার্তা পেয়েছেন । 2 তারা আপনার চেয়ে আলাদা সময় ইউনিট ব্যবহার করে এবং আপনার কম্পিউটারগুলি তাদের চিনতে পারে না। জাহাজের আবাসিক প্রোগ্রামার-প্রত্নতত্ববিদ হিসাবে আপনার কাজটি হ্যান্ডলিং কোডটি প্যাচ করা যাতে এটি পৃথিবীর সময়ের এককগুলিকে স্বীকৃতি দেয় ।
স্বাভাবিকভাবেই, যেহেতু আপনি কেবল কয়েক অন্যান্য কেসিসের জন্য স্নিগ্ধতার বাইরে রয়েছেন, আপনি নিজের কোডটি যত তাড়াতাড়ি সংক্ষিপ্ত করতে চান যাতে এটি দ্রুত লেখা যায়। ভাগ্যক্রমে, একটি আন্তঃবিষ্টার ট্রেডিং সংস্কৃতি হিসাবে, Qeng হো উদ্ভাবিত প্রতিটি প্রোগ্রামিং ভাষার অ্যাক্সেস পেয়েছে।
ইনপুট
ইনপুটটি এক বা একাধিক স্পেস-বিচ্ছিন্ন উপাদানযুক্ত একক স্ট্রিং হবে
। একটি কম্পোনেন্ট একটি পূর্ণসংখ্যা সংখ্যা> 0 এবং ≤ 255, তারপর একটি স্পেস হিসাবে সংজ্ঞায়িত করা হয়, এবং তারপর এক second
, minute
, hour
, day
, week
, month
,
year
, decade
, অথবা century
, সম্ভবত বহুবচন হয় (সঙ্গে একটি যোগ s
, অথবা
centuries
শেষ কেস জন্য)।
এখানে কিছু বৈধ উদাহরণ ইনপুট রয়েছে:
10 days 12 hours
1 year
184 centuries 1 second
9 weeks 6 days 2 hours 1 minute 20 seconds
আপনি ইনপুট সম্পর্কে নিম্নলিখিতটি ধরে নিতে পারেন:
ইউনিট বহুবচনকরণ সর্বদা প্রাসঙ্গিক সংখ্যার সাথে একমত হবে।
যদি ইনপুটটিতে একাধিক উপাদান থাকে তবে সেগুলি সর্বদা দৈর্ঘ্যের ক্রমবর্ধমান ক্রমে থাকবে।
এই চ্যালেঞ্জের উদ্দেশ্যে বিভিন্ন ইনপুট ইউনিট কী বোঝায় তা এখানে রয়েছে:
unit relative absolute
---------------------------------------
second 1 second 1 second
minute 60 seconds 60 seconds
hour 60 minutes 3600 seconds
day 24 hours 86400 seconds
week 7 days 604800 seconds
month 30 days 2592000 seconds
year 365 days 31536000 seconds
decade 10 years 315360000 seconds
century 10 decades 3153600000 seconds
আউটপুট
এখানে আপনার কোডটি সমর্থন করতে পারে এমন কেনেগ হো ইউনিট রয়েছে:
unit relative absolute
----------------------------------------
second 1 second 1 second
Ksec 1000 seconds 1000 seconds
Msec 1000 Ksecs 1000000 seconds
Gsec 1000 Msecs 1000000000 seconds
আপনার কোডের আউটপুট নির্ধারণ করতে নিম্নলিখিত অ্যালগরিদম ব্যবহার করুন:
প্রথমে ইনপুট প্রতিনিধিত্ব করে এমন মোট পরিমাণ যোগ করুন।
সবচেয়ে বৃহত্তর কেনেগ হো ইউনিটটি সংক্ষিপ্ত বা ইনপুট হিসাবে একই সময়ের পরিমাণ Find মূলতঃ সর্বনিম্ন একক বৃহত্তম ইউনিট সন্ধান করুন।
ইনপুটটিতে প্রদত্ত মোট সময়ের পরিমাণটিকে এই ইউনিটে রূপান্তর করুন এবং ফলাফলটি আউটপুট করুন, তিন দশমিক জায়গায় গোল করে।
নিম্নলিখিত পদ্ধতিগুলির মধ্যে আপনার যে কোনওটি ব্যবহার করতে পারেন আপনার পছন্দ থাকতে পারে: বৃত্তাকার আপ, বৃত্তাকার, শূন্য থেকে দূরে, বা ∞ বা -∞ এর দিকে গোলাকার ∞ যদি বৃত্তাকার ফলাফলটি শেষ 0
হয় তবে আপনি হয় অনুসরণীয় শূন্যগুলি সরিয়ে ফেলতে পারেন বা যতগুলি চান (বা ইনপুটটির উপর নির্ভর করে উভয়ই করুন) রাখতে পারেন।
বৃত্তাকার ফলাফলের ঠিক হয়, তাহলে 1.000
, আপনি একবচন ব্যবহার করা আবশ্যক ( second
, Ksec
, Msec
, Gsec
); অন্যথায়, বহুবচন ব্যবহার করুন ( seconds
,
Ksecs
, Msecs
, Gsecs
)।
নির্দিষ্ট প্রান্তের ক্ষেত্রে, আপনি সম্ভবত ইউনিট ব্যবহার করছেন, উদাহরণস্বরূপ, কাসেক, তবে 1000.000 কাসেকের একটি বৃত্তাকার ফলাফল পান। এই ক্ষেত্রে, আপনি কেবল 1000.000 Ksecs
পরিবর্তে আউটপুট করতে পারেন
1 Msec
।
আপনি সর্বদা ধরে নিতে পারেন যে ইনপুটটি ইউনিটগুলির ক্রমবর্ধমান ক্রমে (শতাব্দী, দশক, বছর, ইত্যাদি); তদ্ব্যতীত, যে কোনও ইউনিটের পরে যে উপাদানটি আসে তা সর্বদা সংক্ষিপ্ত হবে (যা 1 decade 20 years
অবৈধ ইনপুট)।
পরীক্ষার মামলা
দ্রষ্টব্য: একটি তারকাচিহ্ন ( *
) দ্বারা চিহ্নিত ফলাফলগুলি বৃত্তাকার পার্থক্যের কারণে একটি নগন্য পরিমাণে পৃথক হতে পারে।
input output
-------------------------------------------------------------
1 hour 3.600 Ksecs
1 day 86.400 Ksecs
2 weeks 1.210 Msecs
1 year 31.536 Msecs
32 years 1.009 Gsecs *
1 second 1.000 second
1 century 6 decades 5.046 Gsecs *
255 centuries 804.168 Gsecs
2 weeks 6 days 1 hour 19 minutes 4 seconds 1.733 Msecs
1 week 3 days 3 hours 7 minutes 875.220 Ksecs
1 week 4 days 13 hours 46 minutes 40 seconds 1.000 Msec
2 months 2 hours 5.191 Msecs *
16 minutes 39 seconds 999.000 seconds
বিধি
- এটি কোড-গল্ফ , তাই বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী।
1: তবে আপনি অবশ্যই হার্ড স্কিফি পছন্দ করেন। যে ক্ষেত্রে আমি প্রথমে একটি ফায়ার আপ অন দিপ পড়ার পরামর্শ দিচ্ছি , এটি (আমার মতে) আরও চমত্কার।
2: ভাল, প্রযুক্তিগতভাবে "ওল্ড আর্থ" এর আকাশে ডিপনেসে বেশ কয়েকবার উল্লেখ করা হয়েছে , তবে ...
2 months 2 hours
"2 মাস * 2 ঘন্টা" হিসাবে ব্যাখ্যা করে ।