Nth हारून नंबर का पता लगाएं


14

पृष्ठभूमि

एक रूथ-आरोन जोड़ी लगातार सकारात्मक पूर्णांक की एक जोड़ी है nऔर n+1इस तरह कि प्रत्येक पूर्णांक के प्रमुख कारकों (बार-बार प्रमुख कारकों की गिनती) का योग समान है। उदाहरण के लिए, (714,715)एक रूथ-हारून जोड़ी है के बाद से 714=2*3*7*17, 715=5*11*13और 2+3+7+17=5+11+13=29। रूथ-आरोन की जोड़ी को कार्ल पोमेरेन्स ने बेबे रुथ के करियर होम रन के संदर्भ में चुना था 714, जो 25 मई, 1935 से 8 अप्रैल, 1974 तक विश्व रिकॉर्ड के रूप में रहा, जब हांक आरोन ने अपने 715घरेलू घर को हिट किया । आप इस नंबरफाइल वीडियो में इन नंबरों के आकर्षक इतिहास के बारे में अधिक जान सकते हैं ।

लक्ष्य

एक पूर्ण प्रोग्राम या फ़ंक्शन लिखें, जो एक सकारात्मक पूर्णांक दिया गया है 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 सही?
— हाइपरनेत्रिनो

@ ओकेक्स मैं था, मैंने अभी देखा कि जब मैंने उसकी Youtube प्रोफ़ाइल को रीफ्रेश किया, तो उसके पास ठीक 1 और सब्सक्राइबर था (मेरे नहीं)
— मिस्टर एक्सकोडर

@ हाइपरनेट्रिनो हाँ। मैं और अधिक स्पष्ट करने के लिए संपादन करूँगा।
— नेगनिसिस

क्या हम 0 और 1 अनुक्रमण के बीच चयन कर सकते हैं?
— श्री एक्सकोडर

3
मैंने भी, आज का नंबरफाइल वीडियो देखा
— shooqie

जवाबों:


7

05AB1E , 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
स्पष्टीकरण जब आप कर सकते हैं, तो कृपया :)
— श्री एक्सकोडर

@ Mr.Xcoder जोड़ा गया।
— ओकेक्स

10 बाइट्स:µN>Ð<‚ÒO˽
— Emigna

@Eigna आह, अच्छा एक।
— ओकेक्स

2
@ अदनान वाकई? यह एक पागल भाषा की सुविधा है।
— 18

5

भूसी , 11 9 बाइट्स

-2 बाइट्स @Leo के एक चतुर गोल्फ के लिए धन्यवाद

€∫Ẋ¤=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
एक गोल्फर संस्करण tio.run/##ARsA5P9odXNr///igqziiKvhuorCpD1vzqNwTv///zY
— Leo

1
@ लिओ ऊह, €∫एक बहुत अच्छी चाल है! और वह जो केवल आलसी भाषा में काम करता है। ;)
— ज़गर्ब

@ बहुत चालाक।
— एच। वाइज

3

पायथ , 23 20 बाइट्स

यह 1-अनुक्रमित है।

WhQ=-QqsPZsPhZ=+Z1;Z

टेस्ट सूट या ऑनलाइन यह कोशिश करो!


व्याख्या

WhQ = -QqsPZsPhZ = + Z1; Z - पूर्ण कार्यक्रम। मानक इनपुट से इनपुट लेता है।

WhQ - जबकि Q 0 से अधिक है।
       sPZ - Z के प्रमुख कारकों में से योग।
          sPhZ - Z + 1 के प्रमुख कारकों का योग।
      q - यदि उपरोक्त बराबर हैं:
   = -Q - यदि वे समान नहीं हैं, तो 1 से घटाव Q, और 0 से अगर वे नहीं हैं।
              = + जेड 1; - प्रत्येक पुनरावृत्ति पर वृद्धि Z।
                   जेड - आउटपुट जेड। 

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

PHP, 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-अनुक्रमित (तर्क के लिए मुट्ठी हारून नंबर 3) के साथ -2 बाइट्स : निकालें 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

MATL , 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
— नंबरमानिश number ’

1
@numbermaniac तय! 2 बाइट्स बचाए!
— J42161217

2

पायथ, 12 11 बाइट्स

e.fqsPtZsPZ

1 से अनुक्रमण एक बाइट को हटाता है, और पेली को जेली से आगे रखता है


व्याख्या

e.fqsPtZsPZ - पूर्ण कार्यक्रम। मानक इनपुट से इनपुट लेता है।

एफई - पहले $ इनपुट नंबरों की सूची का अंतिम तत्व जिसके लिए
   q - बराबर हैं 
    ss - का योग
     PtZ PZ - $ नंबर -1 और $ संख्या के प्रमुख कारक


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-अनुक्रमण की अनुमति है।
— श्री एक्सकोडर

@ Mr.Xcoder निश्चित, निश्चित।
— १



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 बाइट्स थैंक्स टू @ovs!

-1 बाइट @ नॉटजगन को धन्यवाद

प्राइम फेक्टराइजेशन एल्गोरिदम के लिए डेनिस को श्रेय जाता है । 1 अनुक्रमित।


नोट: यह अत्यंत धीमा और अक्षम है। जब तक आप सेट नहीं करते import sysऔर करते हैं sys.setrecursionlimit(100000), तो 7 से अधिक इनपुट क्रैश होंगे , लेकिन यह सिद्धांत रूप में काम करता है।


104 बाइट्स बनाकर fएक समारोह अभाज्य गुणकों की राशि की गणना
— OVS

बहुत अच्छा होगा यदि आप अपने बायटेकाउंट को ट्रैक करेंगे (और शायद आपके संपादन पर टिप्पणी करें)।
— टाइटस

(f(n,k+1),k+f(n/k))[n%k<1]एक और -2 बाइट्स के लिए। इससे यह और भी धीमा हो जाता है।
— 20

-1 बाइट पर स्विच i+1करके -~i।
— नॉटजागन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.