প্রাথমিক সংখ্যা ব্যবহার করে একটি তালিকা তৈরি করুন


10

আপনাকে মুদ্রার এন পাইল দেওয়া হয়েছে। আপনি এই বি 1 , বি 2 , ..., বি এন পাইলগুলির প্রত্যেককে পৃথক পৃথক লোকের মধ্যে ভাগ করার সিদ্ধান্ত নিয়েছেন । কয়েন প্রাপ্ত লোকের পরিমাণ একটি প্রধান সংখ্যা হতে হবে এবং প্রতিটি ব্যক্তিকে দেওয়া অর্থের পরিমাণ অবশ্যই প্রতিটি গাদাতে আলাদা হতে হবে।

ইনপুট: এন, বি 1 , বি 2 , ..., বি এন (প্রতিটি পৃথক স্তূপে মুদ্রার পরিমাণ)।

আউটপুট: এনপি 1 , এনপি 2 , ..., এনপি এন সহ এনপি সহ লোকের সংখ্যা (প্রধান সংখ্যা) মুদ্রা গ্রহণ করে receiving যদি এটি অসম্ভব তারপর কিছু unachievable ফল (যেমন 0, -1, None, [], অথবা "impossible") অথবা একটি ত্রুটি বাড়াতে।

উদাহরণ:

3
7 8 9

আউটপুট: 7 2 3

কারণ 7 হ'ল একমাত্র মৌলিক সংখ্যা যা even এবং ২ এবং and এবং for এর জন্য একইভাবে 7 টি ভাগ করতে পারে এছাড়াও এছাড়াও লক্ষ্য করুন যে (7/7 = 1) 1 (8/2 = 4) 9 (9/3 = 3) )।


2
Nএকটি অপ্রয়োজনীয় ইনপুট, আমরা কি এটি গ্রহণের পূর্বে বলতে পারি?
জোনাথন অ্যালান

আমরা কি 0অসম্ভব কেস হিসাবে কিছু অন্যান্য অ-অর্জনযোগ্য ফলাফল (উদাহরণস্বরূপ , একটি খালি তালিকা, "অসম্ভব" এর মতো একটি স্ট্রিং, বা ত্রুটি বাড়াতে) আনতে পারি? (আমি আসলে কেবলমাত্র বৈধ ইনপুট বা এ জাতীয় ক্ষেত্রে অপরিজ্ঞাত আচরণের অনুমতি দেওয়ার পরামর্শ দিই, তবে এটি আপনার উপর নির্ভর করে))
জোনাথন অ্যালান

2
আপনি এন এর ইনপুট পূর্ববর্তী হতে পারে এবং হ্যাঁ দ্বিতীয় প্রশ্নে।
ম্যাকলিনাক্স

সুতরাং, প্রতিটি সংখ্যার সর্বনিম্ন প্রধান বিভাজক?
সম্পূর্ণমানবিক

@totallyhuman বেশ না - ইনপুট বলতে হলে [7,8,8]এটা অসম্ভব হবে (ব্যবহার যেহেতু 2উভয়ের জন্য 8দুই ফলাফল 4। গুলি) উপরন্তু, যদি ইনপুট বলতে ছিল [7,30,30]তারপর [7,2,2]অকার্যকর কিন্তু হবে [7,2,3]এবং [7,3,2]অন্যদের কাজ করবে মধ্যে।
জোনাথন অ্যালান

উত্তর:


5

05 এ বি 1 ই , 13 বাইট

Ò.»â€˜ʒ÷DÙQ}θ

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

আমার পাইথ উত্তরের একটি বন্দর।

  • Òপ্রধানমন্ত্রী আসলে পায় Ø প্রতিটি Rs।
  • তালিকার প্রতিটি দুটি উপাদানের মধ্যে বিপরীত ডান / বাম ক্রিয়াকলাপগুলির সাথে ডান থেকে বামে একটি ডায়ডিক কমান্ড ভাঁজ করে â(সি tes rtesi â n প্রোডাক্ট)।
  • €˜চ্যাপ্টা Ach।
  • ʒ...}filt ʒ রুপি যারা যা নিম্নলিখিত শর্ত সন্তুষ্ট:
    • ÷ ইনপুট দিয়ে জোড়াযুক্ত পূর্ণসংখ্যা বিভাগ।
    • D ডি আপ্লিকেট (স্ট্যাকের কাছে আইটেমের দুটি অনুলিপি চাপুন)।
    • Ùডুপ্লিকেট উপাদান, একটি পালন সরিয়ে ফেলা হবে Ù niq Ù ই প্রতিটি উপাদান সংঘটন।
    • Qকিউ ইউটিলিটি পরীক্ষা করে ।
  • θ শেষ উপাদান পায়।

4

জেলি ,  15  14 বাইট

³:ŒQẠ
ÆfŒpÇÐfṪ

একটি পূর্ণ-প্রোগ্রাম যা একটি যুক্তি, সংখ্যার একটি তালিকা গ্রহণ করে এবং অন্য সংখ্যার তালিকার একটি প্রতিনিধিত্ব প্রিন্ট করে বা 0যদি কাজটি অসম্ভব হয়।

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

কিভাবে?

³:ŒQẠ - Link 1, unique after division?: list of primes, Ps   e.g. [7,2,2]  or  [7,3,3]
³     - program's first input                                e.g. [7,8,8]  or  [7,9,30]
 :    - integer division by Ps                                    [1,4,4]      [1,3,10]
  ŒQ  - distinct sieve                                            [1,1,0]      [1,1,1]
    Ạ - all truthy?                                               0            1

ÆfŒpÇÐfṪ - Main link: list of coin stack sizes, Bs   e.g. [7,8,12]
Æf       - prime factorisation (vectorises)               [[7],[2,2,2],[2,2,3]]
  Œp     - Cartesian product                              [[7,2,2],[7,2,2],[7,2,3],[7,2,2],[7,2,2],[7,2,3],[7,2,2],[7,2,2],[7,2,3]]
     Ðf  - filter keep if:
    Ç    -   call last link (1) as a monad                 1       1       0       1       1       0       1       1       0
         -                                                [[7,2,2],[7,2,2],[7,2,2],[7,2,2],[7,2,2],[7,2,2]]
       Ṫ - tail (note: tailing an empty list yields 0)    [7,2,2]
         - implicit print

+1 হাহা, আমি মনে করি µ⁼Qঅভিনব স্বাতন্ত্র্য চালনী বিকল্প হিসাবে কাজ করবে, কিন্তু ভাল কাজ!
মিঃ এক্সকোডার

2

পাইথ , 15 বাইট

ef{I/VQT.nM*FPM

এখানে চেষ্টা করুন!

কিভাবে?

ef {I / VQT.nM * এফপিএম | পূর্ণ প্রোগ্রাম, যা আকার পূর্বে
                |
             প্রধানমন্ত্রী | প্রতিটি পূর্ণসংখ্যার প্রধান গুণনীয়ক।
           * চ | প্রাইমগুলির তালিকার উপরে কার্টেসিয়ান পণ্য ভাঁজ করুন।
        .nM | প্রতিটি চ্যাপ্টা।
 চ | ছাঁকনি.
  {আই / ভিকিউটি | ফিল্টার শর্ত (একটি ভেরিয়েবল টি ব্যবহার করে)।
    / ভি | ভেক্টরাইজড পূর্ণসংখ্যা বিভাগ ...
      কিউটি | ইনপুট এবং বর্তমান আইটেমের ওপরে।
  {আই | অনুলিপি কি অনুলিপি (ডুপ্লিকেট অপসারণ) উপরের?
e | শেষ উপাদান নিন।
                | ফলাফলকে স্পষ্টভাবে আউটপুট করুন।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.