আমি একটি দৈত্য লেগো রোবট তৈরি করছি এবং গিয়ার্সের সেট ব্যবহার করে আমার কিছু নির্দিষ্ট গিয়ার অনুপাত উত্পন্ন করতে হবে। আমার প্রচলিত লেগো গিয়ার আকারের সাথে প্রচুর গিয়ার রয়েছে: 8, 16, 24 বা 40 টি দাঁত। এমন একটি প্রোগ্রাম লিখুন যেখানে আমি একটি গিয়ারিং অনুপাত ইনপুট করতে পারি এবং প্রোগ্রামটি আমাকে অনুরোধক অনুপাতটি পেতে কী গিয়ারগুলির সংমিশ্রণটি ব্যবহার করা উচিত তা আমাকে বলে।
ইনপুট অনুপাতটি কোলন দ্বারা পৃথক দুটি পূর্ণসংখ্যার সাথে স্ট্যান্ডার্ড ইনপুট (বা আপনার ভাষার সমতুল্য) এ নির্দিষ্ট করা হবে। এর একটি অনুপাতের a:b
অর্থ যে আউটপুট শ্যাফ্টটি a/b
ইনপুট শ্যাফ্টের চেয়ে দ্রুতগতির হয়ে যায়।
স্ট্যান্ডার্ড আউটপুট থেকে আউটপুট থেকে গিয়ার অনুপাতের স্থান-বিভাজিত তালিকা সমেত একটি একক লাইন হওয়া উচিত , ইনপুট শ্যাফটে গিয়ারের আকার x:y
কোথায় এবং আউটপুট শ্যাফটের গিয়ারের আকার is প্রদত্ত অনুপাতের জন্য আপনাকে ন্যূনতম সম্ভাব্য গিয়ারগুলি ব্যবহার করতে হবে। প্রতিটি এবং অবশ্যই একটি হতে হবে ।x
y
x
y
8,16,24,40
উদাহরণ:
1:5 -> 8:40
10:1 -> 40:8 16:8
9:4 -> 24:16 24:16
7:1 -> IMPOSSIBLE
7:7 ->
6:15 -> 16:40
যদি পছন্দসই গিয়ার অনুপাত অসম্ভব হয় তবে "IMPOSSIBLE" মুদ্রণ করুন। যদি কোনও গিয়ারের প্রয়োজন হয় না, খালি স্ট্রিংটি মুদ্রণ করুন।
এটি কোড গল্ফ, সংক্ষিপ্ত উত্তর জয়।
1:5 -> 8:40
এবং 10:1 -> 40:8
বোধগম্য করুন তবে অন্যরা এতটা না।
1:5
মানে আউটপুট শ্যাফ্টটি পাঁচগুণ ধীর হয়ে যায় এবং ইনপুটটিতে একটি 8 টি দাঁত গিয়ার এবং আউটপুটে 40 টি দাঁত গিয়ার ঘটায়।
10:1 -> 40:8 16:8
আপনি যা বলেছিলেন তা নয়। অন্যরা আপনাকে কী বিভ্রান্ত করে? দুইবার করে 9:4
প্রয়োগ করা 3:2
হয়। 3:2
ব্যবহার করে বাস্তবায়ন করা হয় 24:16
।
7:7
এর মতোই 1:1
, সুতরাং এটি প্রয়োগ করার জন্য কোনও গিয়ারের প্রয়োজন নেই।