Số BIU (hoặc số Sumdivized)


10

Làm thế nào để phát hiện ra chúng

Lấy số nguyên dương k. Tìm ước của nó . Tìm các thừa số nguyên tố riêng biệt của từng ước . Tổng hợp tất cả các yếu tố này với nhau. Nếu số này (tổng) là ước của k ( nếu tổng chia k ) thì số này k, là số BIU

Ví dụ

Hãy lấy số 54
Tìm tất cả các ước: [1, 2, 3, 6, 9, 18, 27, 54]
Tìm các thừa số nguyên tố riêng biệt của từng ước số
LƯU Ý: Đối với trường hợp 1chúng tôi lấy là thừa số nguyên tố riêng biệt1

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

Bây giờ chúng ta lấy tổng của tất cả các thừa số nguyên tố này
1+2+3+2+3+3+2+3+3+2+3=27
27chia 54 (không để lại phần còn lại)
Vì vậy, 54 một số BIU .

Một (nhanh) ví dụ cho k=55
ước: [1,5,11,55]
Sum của thừa số nguyên tố riêng biệt: 1+5+11+5+11=33
33KHÔNG một ước của 55, đó là lý do tại sao 55KHÔNG một số BIU .

Số BIU

Dưới đây là 20 người đầu tiên trong số họ:

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

nhưng danh sách này vẫn tiếp tục và có rất nhiều số BIU đang chờ bạn khám phá!

Các thách thức

Đưa ra một số nguyên n>0như đầu vào , đầu ra các số BIU thứ n

Các trường hợp thử nghiệm

Đầu vào-> Đầu ra

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

Đây là Câu trả lời ngắn gọn nhất trong byte thắng!


2
Nhưng 1không phải là chính ...
Stephen

3
@Stephen đó là lý do tại sao tôi nói "Đối với trường hợp 1, chúng tôi lấy yếu tố nguyên tố 1 khác biệt". Đây là thử thách của tôi và đây là một trong những quy tắc của thử thách này. Tôi không nói rằng 1 là chính.

4
Tại sao các số được gọi là "BIU"?
Misha Lavrov

4
Tôi không chắc nhưng tôi nghĩ rằng nó có liên quan đến những con kỳ lân trí tuệ lưỡng tính sử dụng chúng trong cuộc sống hàng ngày của họ (tất nhiên không phải trong vũ trụ của chúng ta ...)

5
Downvoters, đừng ngại ngùng. Chia sẻ suy nghĩ của bạn với phần còn lại của chúng tôi.

Câu trả lời:


5

Thạch , 16 15 byte

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

Hãy thử trực tuyến!

Woohoo cho các nội trang (nhưng đôi khi chúng ẩn giấu tôi một cách bí ẩn -1 byte nhờ @HyperNeutrino )

Làm thế nào nó hoạt động

Æ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 byte sử dụng ÆfQ€thay vìÆFḢ€€
HyperNeutrino

2
but they mysteriously hide from me sometime"Jelly là một trò chơi trốn tìm nguyên tử và lập trình viên tìm kiếm" ~ i cri everytim
HyperNeutrino

Tôi nghĩ bạn có thể tiết kiệm 1 byte với ÆDÆFSSḢ‘ḍ.
Arnauld


3

Toán học, 85 byte

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

3

Husk , 13 byte

!fṠ¦ö→ΣṁoupḊN

Hãy thử trực tuyến!

Giải thích

  Ṡ¦ö→Σṁ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

Trên thực tế , 16 byte

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

Hãy thử trực tuyến!

Giải trình:

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

Bình thường , 22 byte

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

Hãy thử nó ở đây!

Đây là giải pháp Pyth đầu tiên của tôi, tôi bắt đầu tìm hiểu nó nhờ vào các đề xuất của một số người dùng rất tử tế trong trò chuyện: -) ... Mất khoảng một giờ để giải quyết.

Giải trình

ef | qZ1!% Zhssm {Pd * M {yP - Toàn bộ chương trình. Q = đầu vào.

 .f - Số nguyên Q đầu tiên có kết quả trung thực, sử dụng biến Z.
     qZ1 - Z có bằng 1 không?
   | - Logic HOẶC.
                   {yP - Các yếu tố chính, powerset, lặp lại.
                 * M - Nhận sản phẩm của từng. Chunck và ^ này là dành cho ước số.
              m} Pd - Lấy các thừa số nguyên tố duy nhất của mỗi.
           ss - Làm phẳng và tổng hợp.
          h - Tăng (để xử lý 1, bah)
       % Z - Modulo số nguyên hiện tại bằng tổng số trên.
      ! - Phủ định logic. 0 -> Đúng,> 0 -> Sai.
e - Yếu tố cuối cùng.

1

Haskell , 115 byte

Tất cả các hiểu biết danh sách ở đây có thể có thể được đánh xuống, nhưng tôi không biết làm thế nào. Gợi ý chơi golf chào mừng! Hãy thử trực tuyến!

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

Câu trả lời này thực sự là ba chức năng nghiền với nhau.

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 byte

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

Kiểm tra nó

Tôi cảm thấy như gphương thức hàm sẽ dẫn đến một giải pháp ngắn hơn, nhưng tôi không thể tìm ra cách nó hoạt động!


Giải trình

Đầu vào ngầm định của số nguyên U.

@                  }a

Bắt đầu từ 0, trả về số đầu tiên trả về true khi chuyển qua hàm sau, với Xsố hiện tại.

Xâ ®   Ã

Lấy các ước số ( â) của Xvà chuyển từng thông qua một hàm.

k â

Lấy các yếu tố ( k) của phần tử hiện tại và loại bỏ các bản sao ( â).

xx

Giảm mảng bằng cách thêm sau lần đầu tiên thực hiện tương tự với từng mảng phụ.

Ä

Thêm 1vào kết quả.

Xv

Kiểm tra nếu Xchia hết cho số đó.

Tăng J(ban đầu -1) bằng kết quả của bài kiểm tra đó.

¥

Kiểm tra sự bình đẳng với U.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.