BIU numaraları (veya Özetlenmiş numaralar)


10

Onları nasıl tespit edebilirim?

Pozitif bir tamsayı alın k. Bölenlerini bulun . Her bölücünün belirgin ana faktörlerini bulun . Tüm bu faktörleri bir araya getirin. (Bu sayı (toplam) k bir bölen ise toplamı böler k ise ) daha sonra bu sayı k, bir olduğunu BIU sayı

Örnekler

Let numaralı almak 54
bütün bul bölenler: [1, 2, 3, 6, 9, 18, 27, 54]
Find farklı asal çarpanları her bölen ait
NOT: durumunda için 1biz farklı asal faktör olarak almak1

1  -> 1  
2  -> 2  
3  -> 3  
6  -> 2,3  
9  -> 3  
18 -> 2,3  
27 -> 3  
54 -> 2,3 

Şimdi toplamını almak tüm bu asal faktörlerin
1+2+3+2+3+3+2+3+3+2+3=27
27böler 54 (yaprakları hiçbir kalan)
Yani, 54 olan bir BIU sayı .

İçin bir başka (hızlı) örneği k=55
: Bölenler [1,5,11,55]
Farklı asal faktörlerin Sum: 1+5+11+5+11=33
33 olduğu DEĞİL yüzden 55 bir böleni, 55olduğu DEĞİL bir BIU numarası .

BIU numaraları

İşte ilk 20 tanesi:

1,21,54,290,735,1428,1485,1652,2262,2376,2580,2838,2862,3003,3875,4221,4745, 5525,6750,7050 ...

ancak bu liste devam ediyor ve sizin tarafınızdan keşfedilmeyi bekleyen birçok BIU numarası var!

Meydan okuma

Bir tamsayıdır verilen n>0olarak giriş , çıkış n'inci BIU sayısı

Test Durumları

Girdi-> Çıktı

1->1  
2->21   
42->23595  
100->118300    
200->415777    
300->800175    

Bu . Bayt en kısa cevap kazanır!


2
Ama 1asal değil ...
Stephen

3
@Stephen bu yüzden "1 için ayrı ana faktör 1 olarak kabul ediyoruz" dedim. Bu benim mücadelem ve bu mücadelenin kurallarından biri. 1'in asal olduğunu söylemedim.

4
Rakamlara neden "BIU" deniyor?
Misha Lavrov

4
Emin değilim ama onların günlük yaşamda (değil tabii evrenimizde ...) bunları kullanarak biseksüel entelektüel boynuzlu atlar ile ilgisi var olduğunu düşünüyorum

5
Downvoters, utangaç olma. Düşüncelerinizi geri kalanımızla paylaşın.

Yanıtlar:


5

Jöle , 16 15 bayt

ÆDÆfQ€SS‘ḍ
1Ç#Ṫ

Çevrimiçi deneyin!

Yerleşikler için Woohoo (ancak @HyperNeutrino sayesinde gizemli bir şekilde bazen benden -1 bayt saklanıyorlar )

Nasıl çalışır

ÆDÆfQ€SS‘ḍ - define helper function: is input a BIU number?
ÆD             - divisors
  Æf           - list of prime factors
    Q€         - now distinct prime factors
      SS       - sum, then sum again ('' counts as 0)
        ‘      - add one (to account for '')
         ḍ     - does this divide the input?

1Ç#Ṫ - main link, input n
  #     - starting at 
1          - 1
        - get the first n integers which meet:
 Ç         - helper link
   Ṫ    - tail

-1 bayt ÆfQ€yerineÆFḢ€€
HyperNeutrino

2
but they mysteriously hide from me sometime"Jelly atom saklamak ve programcı aramak bir oyun" ~ i cri everytim
HyperNeutrino

Sanırım 1 bayt tasarruf edebilirsiniz ÆDÆFSSḢ‘ḍ.
Arnauld


3

Mathematica, 85 bayt

If[#<2,1,n=#0[#-1];While[Count[(d=Divisors)@++n,1+Tr@Cases[d/@d@n,_?PrimeQ,2]]<1];n]&

3

Kabuk , 13 bayt

!fṠ¦ö→ΣṁoupḊN

Çevrimiçi deneyin!

Explantaion

  Ṡ¦ö→ΣṁoupḊ    Predicate: returns 1 if BIU, else 0.
           Ḋ    List of divisors
       ṁ        Map and then concatenate
        oup     unique prime factors
      Σ         Sum
    ö→          Add one
  Ṡ¦            Is the argument divisible by this result
 f          N   Filter the natural numbers by that predicate
!               Index

2

Aslında 16 bayt

u⌠;÷♂y♂iΣu@%Y⌡╓N

Çevrimiçi deneyin!

Açıklama:

u⌠;÷♂y♂iΣu@%Y⌡╓N
u⌠;÷♂y♂iΣu@%Y⌡╓   first n+1 numbers x starting with x=0 where
   ÷                divisors
    ♂y              prime factors of divisors
      ♂iΣu          sum of prime factors of divisors, plus 1
  ;       @%        x mod sum
            Y       is 0
               N  last number in list

2

Pyth , 22 bayt

e.f|qZ1!%Zhssm{Pd*M{yP

Burada deneyin!

Bu benim ilk Pyth çözümüm, sohbetteki çok nazik kullanıcıların önerileri sayesinde öğrenmeye başladım: -) ... Çözmem için bir saat sürdü.

açıklama

ef | qZ1!% Zhssm {Pd * M {yP - Tüm program. Q = giriş.

 .f - Değişken Z kullanarak doğru sonuçlar veren ilk Q tamsayıları.
     qZ1 - Z 1'e eşit mi?
   | - Mantıksal VEYA.
                   {yP - Asal faktörler, güç kümesi, veri tekilleştirme.
                 * M - Her birinin ürününü alın. Bu parça ve ^ bölücüler içindir.
              m} Pd - Her birinin benzersiz ana faktörlerini alın.
           ss - Düzleştir ve topla.
          h - Artış (bu 1'i işlemek için, bah)
       % Z - Geçerli tamsayıyı yukarıdaki toplamla modüle et.
      ! - Mantıksal olumsuzlama. 0 -> Doğru,> 0 -> Yanlış.
e - Son öğe.

1

Haskell , 115 bayt

Buradaki tüm liste kavrayışları büyük olasılıkla golf oynayabilir, ancak nasıl yapılacağından emin değilim. Golf önerileri hoş geldiniz! Çevrimiçi deneyin!

x!y=rem x y<1
b n=[a|a<-[1..],a!(1+sum[sum[z|z<-[2..m],m!z,and[not$z!x|x<-[2..z-1]]]|m<-[x|x<-[2..a],a!x]])]!!(n-1)

Ungolfing

Bu cevap aslında üç fonksiyonun bir araya getirilmesidir.

divisors a = [x | x <- [2..a], rem a x == 0]
sumPrimeDivs m = sum [z | z <- [2..m], rem m z == 0, and [rem z x /= 0 | x <- [2..z-1]]]
biu n = [a | a <- [1..], rem a (1 + sum [sumPrimeDivs m | m <- divisors a]) == 0] !! (n-1)

0

Japt , 22 21 bayt

@¥(J±XvXâ ®k âÃxx Ä}a

Dene

gİşlev yönteminin daha kısa bir çözüme götürmesi gerektiğini hissediyorum , ancak nasıl çalıştığını anlayamıyorum!


açıklama

Örtük tamsayı girişi U.

@                  }a

Buradan başlayarak 0, geçerli işlev Xolmak üzere aşağıdaki işlevden geçildiğinde true değerini döndüren ilk sayıyı döndürür .

Xâ ®   Ã

Öğesinin bölücülerini ( â) alın Xve her birini bir işlevden geçirin .

k â

kGeçerli öğenin faktörlerini ( ) alın ve kopyaları ( â) kaldırın .

xx

Her alt diziye aynısını yaptıktan sonra diziyi ekleyerek azaltın.

Ä

1Sonuca ekleyin .

Xv

XBu sayıya bölünebilir olup olmadığını test edin .

Bu testin sonucuna göre J(başlangıçta -1) artırın .

¥

İle eşitliğini kontrol edin U.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.