หมายเลขเซมิเพอร์เฟค
หมายเลข semiperfect / pseudoperfect เป็นจำนวนเต็มเท่ากับผลรวมของส่วนหนึ่งส่วนหรือทั้งหมดของตัวหาร (ยกเว้นตัวเอง) ตัวเลขที่เท่ากับผลรวมของตัวหารทั้งหมดนั้นสมบูรณ์แบบ
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
ดั้งเดิม
หมายเลข semiperfect ดั้งเดิมคือหมายเลข semiperfect ที่ไม่มีตัวหาร semiperfect (ยกเว้นตัวมันเอง :))
Divisors of 6 : 1,2,3
6 = 1+2+3 -> primitive
Divisors of 12 : 1,2,3,4,6
12 = 2+4+6 -> semiperfect
จากการอ้างอิงโปรดใช้ OEIS ซีรี่ย์A006036สำหรับหมายเลขเซมิเพอร์ไพเพอร์ดั้งเดิมและA005835สำหรับเซมิเพอร์เซป
เป้าหมาย
เขียนโปรแกรมหรือฟังก์ชั่นในภาษาใดก็ได้ มันจะใช้เป็นตัวเลขป้อน n เป็นพารามิเตอร์ฟังก์ชั่นหรือจาก STDIN / ทางเลือกที่ใกล้เคียงที่สุดของภาษาของคุณและจะส่งออกตัวเลขกึ่งสมบูรณ์แบบดั้งเดิมทั้งหมดจาก 1 ถึง n (รวม)
เอาต์พุตต้องถูกจัดรูปแบบโดย6[separator]20[separator]28[separator]88...
ที่ [separator] เป็นบรรทัดใหม่เว้นวรรคหรือเครื่องหมายจุลภาค จะต้องไม่มี [ตัวคั่น] เริ่มต้นหรือตัวลงท้าย
แก้ไข: คุณสามารถเว้นบรรทัดขึ้นบรรทัดใหม่ได้
ตัวอย่าง
อินพุต:
5
ผลลัพธ์:
อินพุต:
20
ผลลัพธ์:
6
20
อินพุต:
100
ผลลัพธ์:
6 20 28 88
เกณฑ์การให้คะแนน
นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดเป็นไบต์จะเป็นผู้ชนะ
อย่าพยายามหลอกเราด้วยช่องโหว่โปรด :)
ฉันดีใจที่คุณสามารถอธิบายรหัสกอล์ฟของคุณได้เมื่อคุณคิดว่าคุณเล่นกอล์ฟเสร็จแล้ว!
K
การY
ที่จะสร้างY
ซึ่งเป็นสิ่งจำเป็นอื่น ๆ แต่ผมจะทำพิมพ์แยกกันเช่นกับแทนaYKK
eaYK
อย่างไรก็ตามมันเป็น 4 ไบต์ทั้งสองทาง