Số bán kết
Số semiperinf / pseudoperinf là một số nguyên bằng tổng của một phần hoặc tất cả các ước của nó (không bao gồm chính nó). Các số bằng tổng của tất cả các ước của chúng là hoàn hảo.
Divisors of 6 : 1,2,3
6 = 1+2+3 -> semiperfect (perfect)
Divisors of 28 : 1,2,4,7,14
28 = 14+7+4+2+1 -> semiperfect (perfect)
Divisors of 40 : 1,2,4,5,8,10,20
40 = 1+4+5+10+20 or 2+8+10+20 -> semiperfect
Nguyên thủy
Một số bán chính xác nguyên thủy là một số bán chính xác không có ước số bán chính xác (ngoại trừ chính nó :))
Divisors of 6 : 1,2,3
6 = 1+2+3 -> primitive
Divisors of 12 : 1,2,3,4,6
12 = 2+4+6 -> semiperfect
Để tham khảo, vui lòng sử dụng sê-ri OEIS A006036 cho các số bán chính xác nguyên thủy và A005835 cho các semiperinfs.
Mục tiêu
Viết một chương trình hoặc một chức năng trong bất kỳ ngôn ngữ. Nó sẽ lấy đầu vào là số n làm tham số hàm hoặc từ STDIN / ngôn ngữ thay thế gần nhất của ngôn ngữ của bạn và sẽ xuất tất cả các số bán hoàn hảo nguyên thủy từ 1 đến n (đã bao gồm).
Đầu ra phải được định dạng là 6[separator]20[separator]28[separator]88...
nơi [dấu phân cách] là dòng mới, dấu cách hoặc dấu phẩy. Không được có [bắt đầu phân tách] cũng không phải là kết thúc.
Chỉnh sửa: bạn có thể để lại một dòng mới
Ví dụ
đầu vào :
5
đầu ra:
đầu vào :
20
đầu ra:
6
20
đầu vào :
100
đầu ra:
6 20 28 88
Chấm điểm
Đây là mã golf, vì vậy mã ngắn nhất tính bằng byte sẽ thắng.
Làm ơn đừng cố lừa chúng tôi bằng những sơ hở :).
Tôi rất vui vì bạn có thể để lại lời giải thích về mã đánh gôn của mình một khi bạn nghĩ rằng bạn đã chơi xong nó!
K
vàoY
để xây dựngY
, đó là cần thiết ở những nơi khác. Tuy nhiên, tôi có thể thực hiện in riêng, chẳng hạn nhưaYKK
thay vìeaYK
. Đó là 4 byte, tuy nhiên.