ক্রেজি কিন্তু যুক্তিযুক্ত বেসগুলি


11

বেস 10, বেস 2, বেস 36, বা বেস -10 এর উপর ভিত্তি করে আমাদের অনেক চ্যালেঞ্জ রয়েছে তবে অন্যান্য সমস্ত যৌক্তিক ভিত্তির কী?

কার্য

বেস 10 এবং একটি যৌক্তিক বেসে একটি পূর্ণসংখ্যা দেওয়া হয়, সেই বেসটিতে পূর্ণসংখ্যা ফেরত দিন (অ্যারে, স্ট্রিং ইত্যাদি)।

প্রক্রিয়া

যৌক্তিক ভিত্তিটি কল্পনা করা কঠিন, সুতরাং আসুন আমরা এক্সপ্লোডিং ডটস ব্যবহার করে এটি কল্পনা করতে পারি :

বেস 3 তে 17 প্রকাশ করে এই অ্যানিমেশনটি বিবেচনা করুন:

এখানে চিত্র বর্ণনা লিখুন

প্রতিটি বিন্দু একটি ইউনিটকে প্রতিনিধিত্ব করে, এবং বাক্সগুলি অঙ্কগুলি উপস্থাপন করে: ডানদিকের বাক্সটি যার যার জায়গা, মাঝের বাক্সটি 3 ^ 1 স্থান এবং বামদিকের বাক্সটি 3 ^ 2 স্থান।

আমরা যার যার জায়গায় 17 টি বিন্দু দিয়ে শুরু করতে পারি। যাইহোক, এটি বেস 3, সুতরাং এটির স্থানটি 3 টিরও কম হতে হবে Therefore সুতরাং, আমরা 3 টি বিন্দু "বিস্ফোরিত" করি এবং বাম দিকে বাক্সে একটি বিন্দু তৈরি করি। আমরা কোনও বিস্ফোরণযোগ্য বিন্দু (যেমন একই বাক্সে 3 টি বিন্দু) না দিয়ে স্থিতিশীল অবস্থান শেষ না করা পর্যন্ত আমরা এটি পুনরাবৃত্তি করি।

সুতরাং বেস 10 তে 17 বেস 3 তে 122।


একটি ভগ্নাংশ বেস কিছু সংখ্যক বিন্দুকে একাধিক বিন্দুর সাথে বিস্ফোরনের সাথে সমান। বেস 3/2 3 তৈরি করতে 3 বিন্দু বিস্ফোরিত হবে।

3/2 বেসে 17 প্রকাশ করা:

এখানে চিত্র বর্ণনা লিখুন

সুতরাং বেস 10 তে 17 বেস 3/2 এ 21012।


নেতিবাচক ঘাঁটিগুলি একইভাবে কাজ করে তবে আমাদের অবশ্যই লক্ষণগুলি লক্ষ্য রাখতে হবে (তথাকথিত অ্যান্টি-ডটগুলি ব্যবহার করে -1 এর সমান; একটি উন্মুক্ত বৃত্ত দ্বারা প্রতিনিধিত্ব করা হয়)।

বেস -3 এ 17 প্রকাশ করা:

এখানে চিত্র বর্ণনা লিখুন

দ্রষ্টব্য, সমস্ত বাক্সের সাইন একই (জিরো উপেক্ষা করে) তৈরি করতে অতিরিক্ত বিস্ফোরণ রয়েছে।

সুতরাং, বেস 10 তে 17 বেস -3-এ 212।

নেতিবাচক যৌক্তিক ভিত্তি উপরোক্ত দুটি ক্ষেত্রে সংমিশ্রণে একইভাবে কাজ করে।

বিধি

  • কোনও মানক ফাঁক নেই।
  • আউটপুটে প্রতিটি "ডিজিট" এর চিহ্নটি একই (বা শূন্য) হতে হবে।
  • সমস্ত সংখ্যার পরম মান অবশ্যই বেসের অংকের পরম মানের থেকে কম হওয়া উচিত।
  • আপনি ধরে নিতে পারেন যে বেসটির পরম মানটি 1 এর চেয়ে বেশি।
  • আপনি ধরে নিতে পারেন যে মূলদ ভিত্তিটি তার সর্বনিম্ন হ্রাস আকারে।
  • আপনি ইনপুটটিতে বেসের সংখ্যক এবং ডিনোমিনেটর আলাদাভাবে নিতে পারেন।
  • যদি কোনও সংখ্যার একাধিক উপস্থাপনা থাকে তবে আপনি সেগুলির মধ্যে যে কোনও একটিকে আউটপুট দিতে পারেন। (উদাহরণস্বরূপ 12 বেস 10 {-2, -8}এবং {1, 9, 2}বেস -10 হতে পারে )

পরীক্ষার কেস:

বিন্যাস: {in, base} -> result

{7, 4/3}        ->  {3, 3}
{-42, -2}       ->  {1, 0, 1, 0, 1, 0}
{-112, -7/3}    ->  {-6, -5, 0, -1, 0}
{1234, 9/2}     ->  {2, 3, 6, 4, 1}
{60043, -37/3}  ->  {-33, -14, -22, -8}

যেহেতু কিছু ইনপুটগুলির একাধিক উপস্থাপনা থাকতে পারে, তাই আমি টিআইওতে এই ম্যাথমেটিকা ​​স্নিপেট ব্যবহার করে আউটপুট পরীক্ষা করার পরামর্শ দিচ্ছি

এটি , তাই প্রতিটি ভাষার পক্ষে সংক্ষিপ্ততম বাইট গণনা সহ জমা দেওয়া!


বিস্ফোরিত বিন্দু সম্পর্কে আরও তথ্যের জন্য , গ্লোবাল গণিত প্রকল্পের ওয়েবসাইটটি দেখুন ! তাদের কাছে ঠান্ডা ম্যাথির স্টাফ রয়েছে!


উত্তর:


6

পাইথন 2 , 42 39 বাইট

n,a,b=input()
while n:print n%a;n=n/a*b

এটি অনলাইন চেষ্টা করুন!

সংক্ষিপ্ত ফর্মটি খুঁজে পাওয়ার জন্য @ এক্সনোরকে ধন্যবাদ।

অপ্রচলিত সংস্করণ (42 বাইট):

f=lambda n,a,b:n and[n%a]+f(n/a*b,a,b)or[]

এটি অনলাইন চেষ্টা করুন!

পরামিতি: ইনপুট, অংক (চিহ্ন সহ) এবং ডিনোমিনেটর।

প্রথমে সর্বনিম্ন অঙ্কের একটি অ্যারে প্রদান করে।

এটি কেবলমাত্র কাজ করে কারণ পাইথনের বিভাজন এবং মডিউলগুলি ডিনোমিনেটরের চিহ্ন অনুসরণ করে, সুতরাং আমাদের একই লক্ষণগুলি স্পষ্টভাবে যত্ন নেওয়ার দরকার নেই।

পরীক্ষার কেস আউটপুট:

f(7, 4, 3)       == [3, 3]
f(-42, -2, 1)    == [0, -1, -1, -1, -1, -1, -1]
f(-112, -7, 3)   == [0, -1, 0, -5, -6]
f(1234, 9, 2)    == [1, 4, 6, 3, 2]
f(60043, -37, 3) == [-8, -22, -14, -33]

4
অসাধারণ, দেখে মনে হচ্ছে কোনও প্রোগ্রামটি ছোট
xnor

@ এক্সনোর ধন্যবাদ, কিছু লেখার জন্য আমি সর্বদা সেভাবেই ভুলে গিয়েছি ...
বুবলার

4

অহুই (এসোটোপ) , 91 বাইট

벙수벙섞벙석
희빠챠쌳뻐삭빠빠싻싸삯라망밣밭따맣사나삮빠싸사땨

এটি অনলাইন চেষ্টা করুন!

নেয় integer, numerator of baseএবং denominator of base

টিআইও ইন্টারপ্রেটারের সীমাবদ্ধতার কারণে, প্রতিটি ইনপুট অবশ্যই একটি নতুন লাইন দিয়ে শেষ হবে।

বাস্তবায়নের @ Bubbler এর পাইথন 2 উত্তর । ভাগ্যক্রমে, এই অহুই ইন্টারপ্রেটারটি পাইথনে লেখা হয়েছে, তাই আমরা একই কৌশলটি ব্যবহার করতে পারি।


4
o_O পৃথিবীতে কী এই ভাষা ... ডি:
হাইপারনিউটারিনো 5:58

3

05 এ বি 1 ই , 11 10 বাইট

[D_#²‰`,³*

এটি অনলাইন চেষ্টা করুন!

লাগে integer, numerator of baseএবং denominator of baseসব উত্তর চাই। যেহেতু 05AB1E ইন্টারপ্রেটারটি পাইথন (?) তে লেখা আছে, বুবলারের পাইথন 2 উত্তর ট্রিকটি 05AB1E এও ব্যবহার করা যেতে পারে।

ব্যাখ্যা

[D_ # ² এর ‰ `, ³ *
[ অগণিত চক্র
 D_ # সংখ্যাটি 0 হয়, প্রস্থান লুপ (অন্তর্নিহিত ইনপুট)
                                         প্রথম পুনরাবৃত্তিতে)
     Base বেসের অঙ্কটি পান
      ‰ ডিভোড
       All সমস্ত উপাদান স্ট্যাকের মধ্যে ধাক্কা
        , বাকীটি মুদ্রণ করুন
         Base বেসের ডিনোমিনেটর পান
          * এটি গুণ।

সুতরাং প্রোগ্রামটি প্রায় এই পাইথন কোডের মতোই কাজ করে:

i1, i2, i3 = ইনপুট ()
স্ট্যাক = []
যখন 1:
 স্ট্যাক = (স্ট্যাক বা [i1])
 স্ট্যাক + = [স্ট্যাক [-1]]
 যদি স্ট্যাক না হয় [-1]: বিরতি
 স্ট্যাক + = [i2]
 স্ট্যাক = স্ট্যাক [: - 2] + [ডিভোড (স্ট্যাক [-2], স্ট্যাক [-1])]
 স্ট্যাক = স্ট্যাক [: - 1] + তালিকা (স্ট্যাক [-1])
 মুদ্রণ স্ট্যাক [-1]
 স্ট্যাক = স্ট্যাক [: - 1]
 স্ট্যাক + = [i3]
 স্ট্যাক = স্ট্যাক [: - 2] + [স্ট্যাক [-2] * স্ট্যাক [-1]]

11> 10 ধন্যবাদ নীল


আমি মনে করি আপনি এখানে _পরিবর্তে ব্যবহার করতে পারেন 0Q
নীল

@ নীল ওহ সত্য, আমি নেতিবাচক বুলিয়ান সম্পর্কে ভুলে গেছি!
শিয়ারু আসাকোটো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.