নবম হারুন নম্বরটি সন্ধান করুন


14

পটভূমি

একটি রুথ-অ্যারন জুটি পরপর ধনাত্মক পূর্ণসংখ্যার এক জোড়া nএবং n+1যেমন প্রতিটি পূর্ণসংখ্যার প্রধান উপাদানগুলির (পুনরাবৃত্তি হওয়া মৌলিক উপাদানগুলি গণনা করা) সমান হয়। উদাহরণস্বরূপ, (714,715)একটি রুথ-হারুন যুগল যেহেতু 714=2*3*7*17, 715=5*11*13এবং 2+3+7+17=5+11+13=29বাথ রুথের ক্যারিয়ারের হোম রানের মোট কথা উল্লেখ করে রূত-অ্যারন জুটি নামটি কার্ল পোমারেন্স দ্বারা বেছে নেওয়া হয়েছিল 714, যা হানক অ্যারন তার 715হোম রান করার পরে ২৫ মে, ১৯৩৫ সাল থেকে 8 ই এপ্রিল, ১৯ until৪ পর্যন্ত বিশ্ব রেকর্ড হিসাবে দাঁড়িয়েছিল । এই নাম্বারফিলি ভিডিওতে আপনি এই সংখ্যাগুলির আকর্ষণীয় ইতিহাস সম্পর্কে আরও শিখতে পারেন ।

লক্ষ্য

একটি সম্পূর্ণ প্রোগ্রাম বা ফাংশন লিখুন যা একটি ধনাত্মক পূর্ণসংখ্যা দেওয়া nহলে nতম হারুন সংখ্যাটি আউটপুট করে , যেখানে nতম সংখ্যাটি nরূথ-অ্যারন জোড়ের বৃহত্তর পূর্ণসংখ্যা হিসাবে সংজ্ঞায়িত করা হয় । এভাবে nতম হারুন সংখ্যা a(n)+1, যেখানে a(n)হয় nOEIS ক্রমানুসারে তম মেয়াদ A039752

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

প্রথম কয়েকটি হারুনের সংখ্যা

6,9,16,78,126,715,949,1331,1521,1863,2492,3249,4186,4192,5406,5561,5960,6868,8281,8464,10648,12352,14588,16933,17081,18491,20451,24896,26643,26650,28449,28810,33020,37829,37882,41262,42625,43216

বিধি


নিশ্চিত হয়ে উঠুন, "গুণনা গণনা" এর অর্থ 20 -> 2, 2, 5 নয় 2, 5?
হাইপারনিউটারিনো

@ অক্স আমি ছিলাম, আমি কেবল লক্ষ্য করেছি যে আমি যখন তার ইউটিউব প্রোফাইলটি রিফ্রেশ করেছিলাম তখন তার ঠিক আরও 1 জন গ্রাহক ছিলেন (আমাকে নয়)
মিঃ এক্সকডার

@ হাইপারনিউটারিনো হ্যাঁ আরও পরিষ্কার করার জন্য আমি সম্পাদনা করব।
নেজিনিসিস

আমরা কি 0 এবং 1 সূচকের মধ্যে চয়ন করতে পারি?
মিঃ এক্সকোডার

3
আমিও, আজকের
নম্বরফিলি

উত্তর:


7

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

-1 বাইট ধন্যবাদ এমিগানাকে
-1 বাইট ধন্যবাদ আদনানকে

µN>Ð<‚ÒOË

ব্যাখ্যা:

µ            While the counter variable (which starts at 0) is not equal to the input:
 N>          Store the current iteration index + 1, and then create an array with
   Ð<‚       [current iteration index + 1, current iteration index]
      ÒO     Get the sum of the prime factors of each element
        Ë    If all elements in the array are equal,
             implicitly increment the counter variable

1-ইন্ডেক্স।

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


1
ব্যাখ্যা যখন আপনি করতে পারেন, দয়া করে :)
জনাব Xcoder

@ মিঃ এক্সকোডার যুক্ত হয়েছে।
Okx

10 বাইট:µN>Ð<‚ÒO˽
এমিগানা

@ এমিগনা আহ, সুন্দর
Okx

2
@ অহন্ন সত্যিই? এটি একটি উন্মাদ ভাষার বৈশিষ্ট্য।
Okx

5

হুশ , 11 9 বাইট

-2 বাইটস @ লিওর দ্বারা একটি চতুর গল্ফকে ধন্যবাদ

€∫Ẋ¤=oΣpN

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

ব্যাখ্যা

  Ẋ     N   -- map function over all consecutive pairs ... of natural numbers           [(1,2),(2,3),(3,4),(4,5)...]
   ¤=       --   are the results of the following function equal for both in the pair?
     oΣp    --     sum of prime factors                                                   [0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0]
 ∫          -- cumulative sum                                                           [0,0,0,0,0,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3]                
€           -- the index of the first value equal to the input

1
ভাল কাজ, আমি প্রায় একই ধারণা পোস্ট করতে
লিও

2
একজন golfier সংস্করণ tio.run/##ARsA5P9odXNr///igqziiKvhuorCpD1vzqNwTv///zY
লিও

1
@ লিও ওহ, €∫সত্যিই দুর্দান্ত কৌশল! এবং কেবলমাত্র একটি অলস ভাষায় কাজ করে। ;)
জাগারব

@ লিও খুব চালাক
এইচ.পি.উইজ

3

পাইথ , 23 20 বাইট

এটি 1-সূচকযুক্ত।

WhQ=-QqsPZsPhZ=+Z1;Z

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


ব্যাখ্যা

WHQ = -QqsPZsPhZ = + Z1; Z - সম্পূর্ণ প্রোগ্রাম। স্ট্যান্ডার্ড ইনপুট থেকে ইনপুট নেয়।

WHQ - যদিও Q এখনও 0 এর চেয়ে বেশি।
       এসপিজেড - জেডের প্রধান কারণগুলির সমষ্টি।
          sPhZ - জেড + 1 এর প্রধান কারণগুলির সমষ্টি।
      প্রশ্ন - উপরেরটি সমান হলে:
   = -কিউ - সমান হলে 1 কে হ্রাস করুন, এবং যদি 0 না করে তারা হয় না।
              =, + Z1; - প্রতিটি পুনরাবৃত্তির উপর বৃদ্ধি জেড।
                   জেড - আউটপুট জেড 

3

জেলি , 12 বাইট

;‘ÆfS€Eµ⁸#Ṫ‘

একটি মোনাডিক লিঙ্কটি অ-নেতিবাচক সংখ্যাগুলি নিয়ে যাচ্ছে এবং ফিরে আসছে

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

কিভাবে?

;‘ÆfS€Eµ⁸#Ṫ‘ - Link: number, n
         #   - n-find (counting up, say with i, from implicit 1)
        ⁸    - ...number of matches to find: chain's left argument, n
       µ     - ...action: the monadic chain with argument i:
 ‘           -   increment = i+1
;            -   concatenate = [i,i+1]
  Æf         -   prime factors (with duplicates, vectorises)
    S€       -   sum €ach
      E      -   all (two of them) equal?
          Ṫ  - tail, the last matching (hence nth) i
           ‘ - increment (need to return i+1)

সাথে একটি বাইট সংরক্ষণ করুন ;’ÆfS€E_Ịµ#
এরিক দ্য আউটগল্ফার

এখনও লেজ দরকার।
জোনাথন অ্যালান

1
এবং এটিই আপনি পরীক্ষার জন্য পান 1
এরিক দ্য আউটগল্ফার

3

পিএইচপি, 93 92 91 + 1 বাইট

while(2+$argn-=$a==$b)for($b=$a,$a=!$x=$n+=$k=1;$k++<$x;)for(;$x%$k<1;$x/=$k)$a+=$k;echo$n;

পাইপ হিসাবে চালান -nRবা এটি অনলাইনে চেষ্টা করুন

3-ইনডেক্সযুক্ত (2 টি আর্গুমেন্টের জন্য অ্যারোন নম্বর 3) সহ বাইট : সরান 2+

ভাঙ্গন

while(2+$argn       # loop until argument reaches -2 (0 and 1 are false positives)
    -=$a==$b)           # 0. if factors sum equals previous, decrement argument
    for($b=$a,          # 1. remember factors sum
        $a=!            # 3. reset factors sum $a
        $x=$n+=         # 2. pre-increment $n and copy to $x
        $k=1;$k++<$x;)  # 4. loop $k from 2 to $x
        for(;$x%$k<1;       # while $k divides $x
            $x/=$k)             # 2. and divide $x by $k
            $a+=$k;             # 1. add $k to factors sum
echo$n;             # print Aaron number $n

3

এমএটিএল , 17 বাইট

`@:"@Yfs]vd~sG<}@

1-ভিত্তিক। খুব ধীর.

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

ব্যাখ্যা

`        % Do...while
  @      %   Push iteration index k, starting at 1
  :      %   Range [1 2 ... k]
  "      %   For each j in [1 2 ... k]
    @    %     Push j
    Yf   %     Row vector of prime factors
    s    %     Sum
  ]      %   End
  v      %   Concatenate whole stack into a column vector
  d      %   Consecutive differences. A zero indicates a Ruth-Aaron pair
  ~s     %   Number of zeros
  G<     %   Is it less than the input? If so: next k. Else: exit loop
}        % Finally (execute right before when the loop is exited)
  @      %   Push current k
         % Implicit end. Implicit display

3

গণিত, 97 বাইট

(t=r=1;While[t<=#,If[SameQ@@(Plus@@((#&@@# #[[2]])&/@FactorInteger@#)&/@{#,#+1}&@r),t++];r++];r)&


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


এটি বিবরণ অনুযায়ী জোড়ের বৃহত আউটপুট প্রয়োজন; উদাহরণস্বরূপ পরিবর্তে 6ফিরে আসে । 714715
নম্বরমানিয়াক

1
@ সংখ্যামারাক স্থির! 2 টি বাইট সংরক্ষণ!
J42161217

2

পাইথ, 12 11 বাইট

e.fqsPtZsPZ

1 থেকে সূচীকরণ একটি বাইট সরিয়ে দেয় এবং পাইথকে জেলির চেয়ে এগিয়ে রাখে


ব্যাখ্যা

e.fqsPtZsPZ - সম্পূর্ণ প্রোগ্রাম। স্ট্যান্ডার্ড ইনপুট থেকে ইনপুট নেয়।

ef - প্রথম $ ইনপুট সংখ্যার তালিকার শেষ উপাদান for
   q - সমান 
    ss - এর যোগফল
     পিটিজেড পিজেড - $ সংখ্যা -১ এবং $ সংখ্যার প্রধান উপাদান factors


1

জেলি , 17 বাইট

ÆfS=’ÆfS$$µ³‘¤#ṖṪ

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

ব্যাখ্যা

ÆfS=’ÆfS$$µ³‘¤#ṖṪ  Main link, argument is z
              #    Find the first       elements that satisfy condition y: <y><z>#
           ³‘¤                    z + 1
          µ        Monadic link, where the condition is:
  S                The sum of
Æf                            the array of primes that multiply to the number
   =               equals
       S           The sum of
     Æf                       the prime factors of
    ’                                              the number before it
        $$         Last two links as a monad, twice
               Ṗ   k -> k[:-1]
                Ṫ  Last element (combined with `pop`, gets the second last element)

1-ইন্ডেক্স


1
আমি নিশ্চিত নই যে ডিফল্ট নিয়মে 2-ইনডেক্সিং অনুমোদিত allowed
মিঃ এক্সকোডার

@ মিঃ এক্সকোডার শিওর, ফিক্সড।
হাইপার নিউট্রিনো



0

পাইথন 2 , 119 104 102 101 বাইট

f=lambda n,k=2:n/k and(f(n,k+1),k+f(n/k))[n%k<1]
i=input();g=0
while-~i:i-=f(g)==f(g+1);g+=1
print(g)

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

-17 বাইট@ 17s ধন্যবাদ!

-1 বাইট @ নটজাগানকে ধন্যবাদ

প্রাইম ফ্যাক্টেরাইজেশন অ্যালগরিদমের জন্য ক্রেডিট ডেনিসের কাছে যায় । 1-ইন্ডেক্স।


দ্রষ্টব্য: এটি অত্যন্ত ধীর এবং অদক্ষ। আপনি সেট import sysএবং না করলে 7 এর চেয়ে বেশি ইনপুট ক্র্যাশ হয়ে যাবে তবে sys.setrecursionlimit(100000)এটি তত্ত্বের সাথে কাজ করে।


104 বাইটগুলিf প্রধান ফ্যাক্টরগুলির যোগফল গণনা করে একটি ফাংশন তৈরি করে
ovs

আপনি যদি আপনার বাইকোয়ান্ট ট্র্যাক করে (এবং আপনার সম্পাদনাগুলিতে মন্তব্য করতে পারেন) দুর্দান্ত হবে।
টাইটাস

(f(n,k+1),k+f(n/k))[n%k<1]অন্য -2 বাইট জন্য। এটি এটি আরও ধীর করে তোলে।
ovs

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