الگوریتمستان

یادداشت‌های یک معلم علاقه‌مند به نوشتن از آنچه آموخته و یاد می‌دهد
 

  

✤  مسئله What Base Is This

آنچه در این نوشته می‌خوانید:
   •  مسئله What Base Is This
       »  ورودی برنامه
       »  خروجی برنامه

می‌دانیم که جایگاه رقم در یک عدد، وزن آن را در مقدار عدد مشخص می‌کند. برای مثال، عدد 362 در مبنای 10 از رقم 2‌ با وزن $10^0$، رقم 6 با وزن $10^1$ و رقم 3 با وزن $10^2$ به صورت $ 3 \times 10 ^ 2 + 6 \times 10 ^ 1 + 2 \times 10 ^ 0 $ یا $ 300 + 60 + 2 $ تشکیل شده است. چنین ساختاری برای نمایش اعداد در سایر مبناها نیز وجود دارد.

اگرچه عموم مردم تصور می‌کنند اعداد مورد استفاده آنها تنها در مبنای 10 تعریف شده‌اند، اما ما می‌دانیم که نمایش در سایر مبناها نیز امکانپذیر است. مثلا عدد 362 نمایش متفاوتی در مبناهای 9 یا 14 دارد.

در این مسئله برنامه شما با دنباله‌ای از زوج عدد صحیح کار می‌کند. اگر دو عدد هر زوج را با X و Y مشخص کنیم، برنامه شما باید کوچکترین مبنا برای عدد X و کوچکترین مبنا برای عدد Y را بیابد که این دو عدد در مبنای متناظر خود یک مقدار مشترک را نشان می‌دهند.

به عنوان مثال اعداد 5 و 12 را در نظر بگیرید. این دو عدد در مبنای 10‌ با هم برابر نیستند. اما عدد 12 در مبنای 3 و 5 در مبنای 6 هر دو نمایانگر عدد 5 در مبنای 10 و دارای یک مقدار هستند:

\[ 12_3 = 1 \times 3 ^ 1 + 2 \times 3 ^0 = 5\]

\[ 5_6 = 5 \times 6 ^ 0 = 5 \]

پس دو عدد 5 و 12 در صورت انتخاب مبناهای درست می‌توانند برابر باشند!

  

ورودی برنامه

  [برگرد بالا]

هر خط ورودی شامل یک زوج عدد صحیح است که توسط یک یا چند فاصله از هم جدا شده‌اند. همچین ممکن است قبل و بعد این اعداد فاصله خالی موجود باشد که باید از پردازش آنها صرف نظر کرد. مبنای این دو عدد بین 2 تا 36 است. ارقام 0 تا 9 همان معنی عددی خود را دارند و حروف انگلیسی بزرگ A تا Z بیانگر اعداد 10 تا 35 هستند (که در نمایش ارقام اعدادی با مبنای بیش از ده مورد استفاده قرار می‌گیرند).

12   5

           10     A

12 34

       123   456

       1    2

       10   2

  

خروجی برنامه

  [برگرد بالا]

خروجی مسئله به ازای هر زوج ورودی باید به ترتیبی باشد که در نمونه خروجی آمده است. اگر دو عدد در هیچ مبنایی برابر نباشند، پیامی مطابق با مورد درج شده در نمونه خروجی چاپ شود.

12 (base 3) = 5 (base 6)

10 (base 10) = A (base 11)

12 (base 17) = 34 (base 5)

123 is not equal to 456 in any base 2..36

1 is not equal to 2 in any base 2..36

10 (base 2) = 2 (base 3)

  

Link: UVa Online Judge, 343 - What Base Is This

مسعود اقدسی فام

مسعود اقدسی فام هستم.

دانش‌آموخته علوم کامپیوتر و فعال حوزه‌های برنامه‌نویسی پایتون، علم داده و یادگیری ماشین

algs.ir/spuva343     اشتراک‌گذاری در LinkedIn     اشتراک‌گذاری در Twitter     ارسال با Telegram
نوشته‌ها از این دست
آخرین نوشته‌ها
نوشته‌های پرمخاطب
  • 1
  • 2
  • 3
  • 4
  • 5

نام: *  

پست الکترونیک (محرمانه):

متن پیام: *  

01 02 06 07 08 09 10 11 12 13 14