সিজেম, 36 35 34 32 30 বাইট
riP*30/_60/_C/]2m*::-:mc:mC$3=
আউটপুট রেডিয়ানগুলিতে। আমি সমস্ত 86400 সম্ভাব্য ইনপুটগুলির জন্য সমাধানগুলি যাচাই করেছি।
সিজেএম ইন্টারপ্রেটারে এটি অনলাইনে চেষ্টা করুন ।
ধারণা
যেহেতু 2π রেডিয়েনগুলি সম্পূর্ণ ল্যাপ, তাই ঘড়ির প্রতিটি মিনিট / সেকেন্ড অন্তর 2π / 60 = π / 30 রেডিয়ান প্রশস্ত।
সুতরাং, সেকেন্ডের সংখ্যাকে π / 30 দ্বারা ভাগ করা দ্বিতীয় হাতের অবস্থান দেয়।
মিনিট হাতটি দ্বিতীয় হাতের গতির এক ষষ্ঠীতে সরে যায়, সুতরাং ফলকে উপরের থেকে 60 দ্বারা ভাগ করে মিনিট হাতের অবস্থানটি পাওয়া যায়।
তেমনিভাবে, 12 টি দ্বারা শেষ ফলাফল ভাগ করে নেওয়া হ'ল ঘন্টাের অবস্থানের ফলন দেয়।
নোট করুন যে উপরে থেকে আমাদের তিনটি ভাগফল অবশ্যই [0,2π) এর মধ্যে নেই।
হাতের কোণগুলির সমস্ত নয়টি সম্ভাব্য পার্থক্য গণনা করে আমরা তিনটি 0 টি (একটি হাত এবং নিজের মধ্যে কৌণিক দূরত্ব) এবং বিভিন্ন হাতের মধ্যে ছয়টি দূরত্ব পেতে পারি।
নিকটতম হাতগুলি যদি অর্ধে থাকে যা 12 টি অন্তর্ভুক্ত করে না তবে উপরের পার্থক্যগুলির মধ্যে একটি হ'ল পছন্দসই আউটপুট (মোড 2π )।
তবে, 01:55:30 এ (উদাহরণস্বরূপ), ঘন্টা হাতটি 12 থেকে 5.812 র্যাড (333.00 ডিগ্রি) এর কোণে 1.008 র্যাড (57.75 ডিগ্রি) এবং মিনিট হাতটি 4.804 র্যাডের পার্থক্য দেয় (275.25 ডিগ্রি)। এই ফলটিকে একটি সম্পূর্ণ ল্যাপ থেকে বিয়োগ করে আমরা "অন্য দিকে" পরিমাপ করা কোণটি পাই, যা 1.479 রেড (84.75 রেড) এর সমান।
এখন, বরং প্রতিটি কোণ ম্যাপিং চেয়ে θ মধ্যে [0,2π) এবং শর্তসাপেক্ষে থেকে ফলাফলের বিয়োগ π , আমরা করতে পারেন কেবল ক্যালকুলেট arccos (কোসাইন্ (θ)) , যেহেতু কোসাইন্ উভয় পর্যায় এবং এমনকি, এবং arccos সবসময় একটি মান উৎপাদ [ 0, π) ।
তিনটি ক্ষুদ্রতর ফলাফল (সমস্ত শূন্য) এড়িয়ে চতুর্থতম ক্ষুদ্রতম কাঙ্ক্ষিত আউটপুট হবে।
কোড
ri e# Read an integer from STDIN.
P*30/ e# Multiply by π and divide by 30.
_60/ e# Divide a copy by 60.
_C/ e# Divide a copy by 12.
]2m* e# Push the array of all pairs of quotients.
::- e# Replace each pair by its difference.
:mc e# Apply cosine to each difference.
:mC e# Apply arccosine to each cosine.
$3= e# Sort and select the fourth smallest element.
বিকল্প সংস্করণ (34 বাইট)
rd6*_60/_C/]360f%2m*::m360X$f-+$6=
আউটপুট ডিগ্রিতে রয়েছে এবং কোনও ত্রিকোণমিতিক ফাংশন ব্যবহার করা হয় না।
সিজেএম ইন্টারপ্রেটারে এটি অনলাইনে চেষ্টা করুন ।