আমার নম্বরটি অনন্য


21

ইন এই প্রতিদ্বন্দ্বিতায় আমরা ফ্যাক্টর গাছ ব্যবহার পূর্ণসংখ্যা যে ইতিবাচক এনকোড একটি উপায় শিখেছি।

এটা যেভাবে কাজ করে:

  • খালি স্ট্রিংয়ের মান 1 হয়।

  • (S)যেখানে Sএকটি মান সঙ্গে কোনো অভিব্যক্তি এস মূল্যায়ণ করার S তম প্রধানমন্ত্রী।

  • ABযেখানে Aএবং যথাক্রমে A এবং B এরB মানগুলির সাথে আরবিয়েরি এক্সপ্রেশন রয়েছে তার মান A * B রয়েছে

উদাহরণস্বরূপ যদি আমরা 7 টি উপস্থাপন করতে চাই তবে আমরা করব

  7 -> (4) -> (2*2) -> ((1)(1)) -> (()())

দেখা যাচ্ছে যে আমরা এই পদ্ধতিটি ব্যবহার করে প্রতিটি সংখ্যার প্রতিনিধিত্ব করতে পারি। আসলে কিছু সংখ্যা আমরা একাধিক উপায়ে উপস্থাপন করতে পারি। কারণ গুণগুলি 10 পরিবর্তনীয় হয়

((()))()

এবং

()((()))

একই সাথে কিছু সংখ্যা কেবল 1 উপায়ে উপস্থাপন করা যেতে পারে। উদাহরণস্বরূপ 8 নিন। 8 শুধুমাত্র হিসাবে প্রতিনিধিত্ব করা যেতে পারে

()()()

এবং আমাদের সমস্ত পরমাণু সমান হওয়ায় আমরা সেগুলি পুনর্গঠিত করতে চলন ব্যবহার করতে পারি না।


সুতরাং এখন প্রশ্নটি হচ্ছে "কোন সংখ্যাটি কেবল 1 উপায়ে উপস্থাপন করা যায়?"। প্রথম পর্যবেক্ষণটি হ'ল আমি কেবল সেখানে ফিরে শুরু করেছি। দেখে মনে হচ্ছে নিখুঁত ক্ষমতাগুলির কিছু বিশেষ বৈশিষ্ট্য রয়েছে। আরও তদন্তের অধীনে আমরা 36 টি সন্ধান করতে পারি, যা 6 2 একটি নিখুঁত শক্তি তবে একাধিক উপস্থাপনা রয়েছে।

(())()(())()
(())()()(())
()(())()(())
()(())(())()
()()(())(())

6 এটি ইতিমধ্যে পুনর্ব্যবহারযোগ্য, সুতরাং 6 টির মধ্যে আমরা যে কোনও সংখ্যাও পুনর্ব্যবহারযোগ্য হতে হবে sense

সুতরাং এখন আমাদের একটি নিয়ম আছে:

  • কোনও সংখ্যার একটি অনন্য উপস্থাপনা থাকে যদি এটি কোনও অনন্য উপস্থাপনা সহ কোনও সংখ্যার একটি নিখুঁত শক্তি।

কোনও মূল সংখ্যাটি অনন্য কিনা তা নির্ধারণের ক্ষেত্রে কোনও সংমিশ্রিত সংখ্যা অনন্য কিনা তা নির্ধারণ করতে আমাদের এই নিয়মটি সহায়তা করতে পারে। এখন যে আমরা যে নিয়ম আছে আমরা জিনিসটা কি একটি তোলে চান প্রধানমন্ত্রী সংখ্যা অনন্য। এটি প্রকৃতপক্ষে স্বতঃস্ফূর্ত। আমরা যদি একটি অনন্য নম্বর নিই এবং এটি বন্ধনীগুলিতে গুটিয়ে রাখি তবে ফলাফলটি অবশ্যই অনন্য হবে এবং অন্যভাবে যদি এন এর একাধিক উপস্থাপনা থাকে তবে এন থাইমের একাধিক উপস্থাপনা থাকতে হবে। এটি দ্বিতীয় নিয়ম দেয়:

  • এন ম প্রাইম অনন্য যদি এবং কেবল যদি হয় এন অনন্য।

এই দুটি বিধিই পুনরাবৃত্ত, সুতরাং আমাদের একটি বেস কেস প্রয়োজন। ক্ষুদ্রতম অনন্য সংখ্যাটি কী? একটিকে 2 বলার জন্য প্রলুব্ধ করা যেতে পারে কারণ এর ন্যায়সঙ্গত (), তবে 1, খালি স্ট্রিংটি আরও ছোট এবং অনন্য।

  • 1 অনন্য।

এই তিনটি নিয়ম দিয়ে আমরা নির্ধারণ করতে পারি যে কোনও সংখ্যার একটি অনন্য ফ্যাক্টর ট্রি রয়েছে কিনা।

কার্য

আপনি এটি আসতে দেখে থাকতে পারেন, তবে আপনার কাজটি ইতিবাচক পূর্ণসংখ্যা নেওয়া এবং এটি অনন্য কিনা তা নির্ধারণ করা। আপনার কোনও প্রোগ্রাম বা ফাংশন লিখতে হবে যা এই গণনা করে। আপনার দুটি সম্ভাব্য মানের একটি আউটপুট করা উচিত, এই মানগুলি কী আপনার উপর নির্ভর করে তবে একটি "হ্যাঁ" উপস্থাপন করা উচিত, যখন ইনপুটটি অনন্য হয়ে থাকে এবং অন্যথায় আউটপুট হওয়ায় "না" প্রতিনিধিত্ব করা উচিত।

আপনার উত্তরগুলি কম বাইট ভাল হওয়ার সাথে বাইটে স্কোর করা উচিত।

পরীক্ষার মামলা

এখানে প্রথম দম্পতিটির অনন্য সংখ্যা রয়েছে:

1
2
3
4
5
7
8
9
11
16
17
19
23
25
27
31

প্রস্তাবিত পরীক্ষার কেস

5381 -> Unique

দেখে মনে হচ্ছে OEIS A214577 কোনওভাবে সম্পর্কিত, সুতরাং আপনার আরও পরীক্ষার কেসগুলির প্রয়োজন হলে সেখানে চেষ্টা করুন, তবে আমি জানি না যে সেগুলি একই রকম তাই আপনার নিজের ঝুঁকিতে ব্যবহার করুন।


আমি বিশ্বাস করি যে মূল বিষয়গুলি বাছাই করতে হয়েছিল তবে যাই হোক না কেন।
নিসা

1
@ জোনাথন অ্যালান না, সব এখানে আছে।
নিসা

প্রস্তাবিত পরীক্ষার কেস: 5381
নিসা

@ স্টেফেনলেপিক পরীক্ষার কেস যুক্ত হয়েছে, ধন্যবাদ।
গম উইজার্ড

1
@ এইচ.পি.উইজ আমি বলতে যাচ্ছি যে একটি সম্পূর্ণ প্রোগ্রাম আউটপুট হিসাবে ত্রুটি করতে পারে কারণ এটি কোনও প্রোগ্রামের আউটপুট একটি ফর্ম, তবে একটি ফাংশন অবশ্যই একটি মান প্রদান করে।
গম উইজার্ড

উত্তর:


9

হুশ , 11 10 বাইট

জগারবকে একটি বাইট সংরক্ষণ করে!

Ωεo?oṗ←¬Ep

অন্যথায় 1, অনন্য জন্য ফিরে আসে0

এটি অনলাইন চেষ্টা করুন! অথবা প্রথম 50 ফিরিয়ে দিচ্ছেন

ব্যাখ্যা:

Ωε              Until the result is small (either 1 or 0), we repeat the following
         p     Get the prime factors
  o?           If ...
        E      they are all equal:
    ȯṗ←           Get the index of the first one into the primes
               Else:
       ¬          Not the list (since non-empty lists are truthy, this returns 0)

ওহ, এবং আপনার ব্যাখ্যা " ȯp←" বলে ।
এরিক দি আউটগল্ফার

@ এরিকথ আউটগলফার ভাল ক্যাচ, ফিক্সড
এইচ.পি.উইজ

আমি মনে করি ṁ¬হতে পারে মাত্র ¬যেহেতু যে তালিকার কথা শাখায় খালি নয় এমন হতে হবে।
জাগারব

@ জাগারব ওহ অভিনব, আমি মনে করি আপনি আমাকে এই টিপটি আগে দিয়েছিলেন
এইচ.পি.উইজ

7

জেলি , 10 বাইট

চারপাশে প্রচুর ঘোরাঘুরি!

ÆET0ṪḊ?µl¿

একটি মোনাডিক লিঙ্কটি ইতিবাচক পূর্ণসংখ্যার সাথে নিচ্ছে এবং 1যদি এটি অনন্য বা 0না হয় তবে ফিরে আসে।

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

কিভাবে?

ÆET0ṪḊ?µl¿ - Link: number, n     e.g. 11          or 13            or 20
         ¿ - while:
        l  - ...condition: (left) logarithm with base (right)
           -               note: x log 0 and x log 1 both yield None, which is falsey
       µ   - ...do the monadic chain: (first pass shown)
ÆE         -   prime exponent array   [0,0,0,0,1]    [0,0,0,0,0,1]    [2,0,1]
  T        -   truthy indexes         [5]            [6]              [1,3]
      ?    -   if:
     Ḋ     -   ...condition: dequeue (i.e. if length > 1)
   0       -   ...then: literal zero   -              -               0
    Ṫ      -   ...else: tail           5              6               -
           - end result                1              0               0

দাঁড়ান, লগারিদম, কি ?!

লুপের কয়েকটি উদাহরণ দিয়ে চলুন।

যদি n=31( 31 1 , একাদশতম প্রধানমন্ত্রী):

log test # |  left, x |  right, b |  x log b
-----------+----------+-----------+----------
         1 |       31 |        31 |    1.000 -> continue
         2 |       11 |        31 |    0.698 -> continue
         3 |        5 |        11 |    0.671 -> continue
         4 |        3 |         5 |    0.683 -> continue
         5 |        2 |         3 |    0.631 -> continue
         6 |        1 |         2 |    0.000 -> stop, yielding left = 1

যদি n=625( 5 4 ):

log test # |  left, x |  right, b |  x log b
-----------+----------+-----------+----------
         1 |      625 |       625 |    1.000 -> continue
         2 |        3 |       625 |    0.171 -> continue
         3 |        2 |         3 |    0.631 -> continue
         4 |        1 |         2 |    0.000 -> stop, yielding left = 1

যদি n=225( 5 2 × 3 2 ):

log test # |  left, x |  right, b |  x log b
-----------+----------+-----------+----------
         1 |      225 |       225 |    1.000 -> continue
         2 |     *  0 |       225 |-inf+nanj -> continue
         3 |     ** 0 |         0 |     None -> stop, yielding left = 0

*The dequeued list was not empty
**Tailing an empty list in Jelly yields 0

4

এপিএল (ডায়ালগ) , 42 বাইট

CY'dfns'
{1≥⍵:11=≢∪r3pco⍵:∇11pcor0}

এস ⎕CY'dfns'সহ ব্যবহার dfnsটিওর ক্ষেত্রে খুব সম্ভব নয়।


আমার উত্তরটি আপনার সাথে বেশ অনুরূপ প্রকাশ
পেয়েছে

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

এটিকে ঘুরে দেখার জন্য দুঃখিত, তবে আমি আমার উত্তরটি মুছে ফেলেছি। পিছনে তাকালে, একটি মন্তব্য মনে হচ্ছে এটি আরও উপযুক্ত ছিল। আমি মনে করি, যেহেতু আমি এপিএলে তখন নতুন ছিলাম, এই জাতীয় উত্তরটির জন্য যথেষ্ট পরিমাণে প্রচেষ্টার প্রয়োজন হয়েছিল এবং আমি অনুভব করেছি যে একটি মন্তব্য এটির অপচয় হিসাবে বোধ করবে
H.PWiz

2

জেলি , 11 বাইট

ÆfẋE$ḢÆCµl¿

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

-2 জনাথন অ্যালান একটি খুব প্রতিভা ট্রিক ধন্যবাদ ।

এইচপিউইজের হুস্ক অ্যালগরিদম ব্যবহার করা।


যেহেতু বেস একটিতে লগইন এবং শূন্য উভয় ফলন Noneআপনি ÆfẋE$ḢÆCµl¿11 এর জন্য করতে পারেন :)
জোনাথন অ্যালান

@ জোনাথন অ্যালান এই যে প্রথম! খুশী হলাম।
এরিক দি আউটগলফার

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