คำถามติดแท็ก code-golf

Code-golf เป็นการแข่งขันเพื่อแก้ไขปัญหาเฉพาะในส่วนที่น้อยที่สุดของซอร์สโค้ด

23
เลขฐานสิบหกและตัวอักษร
ในการท้าทายนี้คุณจะได้รับอินพุตแปลงเป็นเลขฐานสิบหกทำการเปลี่ยนแปลงสองสามอย่างและส่งผลลัพธ์ออกมา เนื่องจากมีเพียง 16 ตัวอักษรในเลขฐานสิบหกรหัสของคุณจะต้องสั้นที่สุด ตัวอย่าง ตัวอย่างถูกคั่นด้วยบรรทัดว่าง บรรทัดแรกคืออินพุตบรรทัดที่สองแสดงขั้นตอนที่สามแสดงเอาต์พุต 234589 234589 -> 3945D -> 39454 -> 9A1E -> 9115 -> 239B -> 2392 -> 958 958 435234 435234 -> 6A422 -> 61422 -> EFEE -> 5655 -> 1617 1617 153 153 -> 99 -> 99 -> 63 1617 ขั้นตอน ข้อมูลที่ป้อนจะเป็นจำนวนเต็มบวกเสมอ เพื่อสร้างผลลัพธ์คุณจะทำตามขั้นตอนต่อไปนี้: แปลงอินพุตเป็นเลขฐานสิบหก …

30
นับผลรวมของสองสี่เหลี่ยม
กำหนดตัวเลขที่ไม่เป็นลบnให้ส่งออกจำนวนวิธีที่แสดงnเป็นผลรวมของสองจำนวนเต็มของจำนวนเต็มn == a^2 + b^2( OEIS A004018 ) โปรดทราบว่าaและbสามารถเป็นบวกลบหรือศูนย์และลำดับของมันมีความสำคัญ ไบต์ที่น้อยที่สุดจะเป็นผู้ชนะ ตัวอย่างเช่นn=25ให้12เพราะ25สามารถแสดงเป็น (5)^2 + (0)^2 (4)^2 + (3)^2 (3)^2 + (4)^2 (0)^2 + (5)^2 (-3)^2 + (4)^2 (-4)^2 + (3)^2 (-5)^2 + (0)^2 (-4)^2 + (-3)^2 (-3)^2 + (-4)^2 (0)^2 + (-5)^2 (3)^2 + (-4)^2 (4)^2 + (-3)^2 n=25นี่ค่าขึ้นไปที่มี ระวังรหัสของคุณให้n=0ดี 0 …

30
พิกเซลเดียวเคลื่อนที่ในเส้นทางวงกลม
นี่คือความท้าทายในการแสดงผลกราฟิกที่งานคือการให้รหัสสั้นที่สุดต่อภาษา งาน รหัสของคุณควรพล็อตพิกเซลสีม่วงเดียว (ค่าเลขฐานสิบหก # 800080 หรือ rgb (128, 0, 128)) โดยเลื่อนตามเข็มนาฬิกาเป็นวงกลม ควรใช้เวลา 60 วินาทีในการเดินทางรอบวงกลมอย่างเต็มรูปแบบและควรดำเนินการต่อไปเรื่อย ๆ ไม่ควรแสดงสิ่งใดบนหน้าจอหรือหน้าต่างยกเว้นพิกเซล ความกว้างของวงกลมควรเท่ากับ 0.75 (การปัดเศษอย่างเหมาะสม) ความกว้างของหน้าจอหรือหน้าต่างและพื้นหลังควรเป็นสีขาว เพื่อป้องกันการแก้ปัญหาที่โง่เง่าหน้าจอหรือหน้าต่างควรมีความกว้างอย่างน้อย 100 พิกเซล รหัสของคุณควรจะเป็นโปรแกรมเต็มรูปแบบ ภาษาและห้องสมุด คุณสามารถใช้ภาษาหรือไลบรารีที่คุณต้องการ อย่างไรก็ตามฉันต้องการทดสอบโค้ดของคุณถ้าเป็นไปได้ดังนั้นหากคุณสามารถให้คำแนะนำที่ชัดเจนเกี่ยวกับวิธีการเรียกใช้ใน Ubuntu ที่จะได้รับการชื่นชมอย่างมาก ภาษาที่ขาดหายไปยี่สิบอันดับแรก ต้องการความช่วยเหลือ. ภาษาการเขียนโปรแกรมยี่สิบอันดับแรกต่อไปนี้ไม่มีวิธีการแก้ปัญหาใด ๆ เลย C , C ++, C # , Python , PHP , Visual Basic .NET , …

18
พิมพ์ที่อยู่ IPv6 ทั้งหมด
สิ่งนี้เตือนฉันเมื่อไม่กี่ปีที่ผ่านมามีคนอัพโหลดทอร์เรนต์ "เครื่องมือแฮ็กเกอร์: รายการที่อยู่ IP ทั้งหมด" แน่นอนนี่เป็นเพียงรายการที่สร้างขึ้นจากที่อยู่ IPv4 ~ 4 พันล้านรายการ แต่ "h4xx0rz" นับพันดาวน์โหลด ดูแม่ imahacker! ตอนนี้ทุกวันนี้ทุกคนเปลี่ยนมาใช้IPv6แล้ว (ขวา?) งานของคุณคือการเขียนโปรแกรมที่พิมพ์ออกทั้งหมดอยู่ IPv6 คุณควรเขียนโปรแกรมเต็มรูปแบบที่ไม่มีอินพุตและพิมพ์ที่อยู่ IPv6 หนึ่งรายการต่อบรรทัดและไม่มีเอาต์พุตอื่น โปรแกรมของคุณจะต้องพิมพ์ที่อยู่ทั้งหมด 2 128ที่อยู่รวมถึงที่อยู่ที่ไม่ถูกต้อง แต่ละที่อยู่จะต้องพิมพ์อย่างแน่นอนหนึ่งครั้ง คุณสามารถพิมพ์ที่อยู่ในลำดับใดก็ได้ แต่ละที่อยู่อาจพิมพ์เต็มจำนวนโดยมี 8 กลุ่มเป็นเลขฐานสิบหก 4 ตัวคั่นด้วยเครื่องหมายโคลอนเช่น 2001:0db8:85a3:0000:0000:8a2e:0370:7334 คุณอาจใช้ตัวย่อมาตรฐานใด ๆ จากRFC 5952ตามดุลยพินิจของคุณ: ค่าศูนย์นำหน้าในกลุ่มอาจถูกละเว้นยกเว้นว่า0ไม่สามารถย่อได้อีก :: อาจใช้อย่างน้อยหนึ่งครั้งต่อหนึ่งที่อยู่เพื่อย่อลำดับของกลุ่มทั้งหมดที่เป็นศูนย์อย่างน้อยหนึ่งกลุ่ม ตัวเลขฐานสิบหกอาจใช้ตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่ หากคุณบรรลุข้อเสนอแนะจากตัวแทน RFC 5952 (ตัวพิมพ์เล็กเท่านั้นเป็นตัวแทนที่สั้นที่สุดที่มี::ใช้อย่างเร็วที่สุดเท่าที่เป็นไปได้ถ้ามีหลายสถานที่ที่มันสามารถนำมาใช้) คุณจะได้รับโบนัส 20% เนื่องจากขนาดของเอาต์พุตโปรแกรมของคุณไม่คาดว่าจะเสร็จในขณะที่เรานั่งอยู่ที่นั่น โปรแกรมของคุณอาจถูกขัดจังหวะด้วยวิธีการภายนอกบางอย่าง ( …

1
สตริงย่อยทั่วไปที่ยาวที่สุดในเวลาเชิงเส้น
ความท้าทายนี้เกี่ยวกับการเขียนรหัสเพื่อแก้ไขปัญหาต่อไปนี้ รับสองสาย A และ B รหัสของคุณควรส่งออกดัชนีเริ่มต้นและจุดสิ้นสุดของสตริงย่อยของ A ที่มีคุณสมบัติดังต่อไปนี้ สตริงย่อยของ A ควรตรงกับสตริงย่อยบางส่วนของ B ด้วย ไม่ควรมีสตริงย่อยของ A ที่สอดคล้องกับคุณสมบัติแรกอีกต่อไป ตัวอย่างเช่น: A = xxxappleyyyyyyy B = zapplezzz สตริงย่อยappleพร้อมดัชนี4 8(การทำดัชนีจาก 1) จะเป็นเอาต์พุตที่ถูกต้อง ฟังก์ชั่น คุณสามารถสมมติว่าอินพุตจะเป็นแบบมาตรฐานในหรือในไฟล์ในไดเรกทอรีท้องถิ่นนั่นคือตัวเลือกของคุณ รูปแบบไฟล์จะเป็นสองสตริงโดยคั่นด้วยบรรทัดใหม่ คำตอบควรเป็นโปรแกรมแบบสมบูรณ์ไม่ใช่เพียงฟังก์ชั่น ในที่สุดผมต้องการทดสอบรหัสของคุณทั้งสองที่นำมาจากสตริงสตริงในhttp://hgdownload.cse.ucsc.edu/goldenPath/hg38/chromosomes/ คะแนน นี่คือรหัสกอล์ฟที่มีเกลียว รหัสของคุณจะต้องทำงานในO(n)เวลาซึ่งnเป็นความยาวรวมของการป้อนข้อมูล ภาษาและห้องสมุด คุณสามารถใช้ภาษาใดก็ได้ที่มีคอมไพเลอร์ / ล่าม / อื่น ๆ สำหรับ Linux คุณควรใช้ไลบรารีโอเพ่นซอร์สมาตรฐานที่ไม่ได้ออกแบบมาเพื่อแก้ปัญหานี้ ในกรณีที่มีข้อโต้แย้งฉันจะนับเป็นห้องสมุดใด ๆ ที่มาพร้อมกับมาตรฐานกับภาษาของคุณหรือที่คุณสามารถติดตั้งในเครื่องอูบุนตูเริ่มต้นจากพื้นที่เก็บข้อมูลเริ่มต้น ข้อมูลที่เป็นประโยชน์ มีอย่างน้อยสองวิธีในการแก้ปัญหานี้ในเวลาเชิงเส้น …

30
รักฉันอย่ารักฉัน
รักฉันอย่ารักฉัน เกมสำหรับเด็กที่เรียบง่ายนี้เก่า แต่ยังคงได้รับความนิยม เนื่องจากเราอาศัยอยู่ในศตวรรษที่ 21 ตอนนี้มาแปลงเป็นดิจิทัล! สเปค โปรแกรมต้องไม่มีการป้อนข้อมูลยกเว้นว่าคุณกำลังใช้ภาษาที่ไม่สามารถสร้างเมล็ดพันธุ์แบบสุ่มในกรณีนี้คุณจะได้รับอนุญาตให้รับเมล็ดเป็นอินพุต งานของคุณคือการเขียนโปรแกรมที่จะให้ผลลัพธ์แบบสุ่มรวม 3 ถึง 20 บรรทัดรวม: "รักฉัน ... " และ "รักฉันไม่ ... " ในทางกลับกันเช่นเดียวกับในเกม (และอีกหนึ่งบรรทัด; การอ่าน) อย่างไรก็ตามมีข้อ จำกัด บางประการ แต่ละบรรทัดควรขึ้นบรรทัดใหม่ บรรทัดแรกต้องเป็น "รักฉัน ... " บรรทัดสุดท้าย (เช่น "รักฉัน" หรือ "ไม่รักฉันไม่ได้") ควรลงท้ายด้วยเครื่องหมายอัศเจรีย์หรือจุดเดียวตามลำดับ หลังจากบรรทัดสุดท้ายคุณจะต้องส่งออกทั้งหัวใจ ( <3) หรือหัวใจที่แตกสลาย ( </3) ในบรรทัดใหม่ขึ้นอยู่กับว่า "รักฉัน!" หรือ "รักฉันไม่ได้" เป็นประโยคสุดท้าย อนุญาตให้มีช่องว่างต่อท้ายได้ ตัวอย่างผลลัพธ์ …

19
หมายเลขปืนลูกซอง
หมายเลขปืนลูกซองเป็นลำดับที่มีความหมายที่ค่อนข้างง่าย แต่บางโครงสร้างที่น่าสนใจ เริ่มต้นด้วยตัวเลขธรรมชาติ: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, ... ทีนี้นำตัวเลขทั้งหมดที่ดัชนีหารด้วย2 , จัดกลุ่มเป็นคู่และสลับตัวเลขในแต่ละคู่: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, ... ^ ^ ^ ^ ^ ^ ^ <---> …

4
หมูสามารถบินได้หรือไม่
งาน งานของคุณคือการเขียนฟังก์ชั่นหรือโปรแกรมในภาษาที่คุณเลือกซึ่งจะวิเคราะห์ข้อความสองสามข้อและพิจารณาว่าสามารถสรุปได้จากข้อความที่หมูสามารถบินได้หรือไม่ อินพุต อินพุตเป็นสตริงที่สามารถอ่านได้จาก STDIN, ถ่ายเป็นอาร์กิวเมนต์ฟังก์ชันหรือแม้แต่เก็บไว้ในไฟล์ อินพุตสามารถอธิบายได้โดยใช้ EBNF ต่อไปนี้: input = statement , {statement}; statement = (("Pigs are ", attribute) | ("Everything that is ", attribute, "is also ", attribute)), ". "; attribute = [not], ("able to fly" | singleAttribute); singleAttribute = letter, {letter}; letter = "a" | "b" | …

18
คุณสามารถตัดสายนี้ได้กี่ชิ้น?
พิจารณาชิ้นส่วนของสตริง (เช่นเดียวกับใน "เชือก" ไม่ใช่ใน "กลุ่มของอักขระ") ซึ่งถูกพับไปมาบนบรรทัดจริง เราสามารถอธิบายรูปร่างของสตริงด้วยรายการของจุดที่มันผ่าน (ตามลำดับ) เพื่อความง่ายเราจะสมมติว่าจุดเหล่านั้นทั้งหมดเป็นจำนวนเต็ม ใช้เป็นตัวอย่าง[-1, 3, 1, -2, 5, 2, 3, 4](โปรดทราบว่าไม่ใช่แต่ละรายการที่แสดงถึงการพับ): สตริงที่ขยายไปตามทิศทางแนวตั้งนั้นใช้เพื่อจุดประสงค์ในการสร้างภาพเท่านั้น ลองนึกภาพสายทั้งหมดแบนไปยังเส้นจริง ทีนี้นี่คือคำถาม: อะไรคือจำนวนชิ้นที่ยิ่งใหญ่ที่สุดที่สายนี้สามารถตัดด้วยการตัดครั้งเดียว (ซึ่งจะต้องเป็นแนวตั้งในภาพด้านบน) ในกรณีนี้คำตอบคือ6โดยตัดระหว่าง2และ3: เพื่อหลีกเลี่ยงความงงงวย, ตัดมีที่จะดำเนินการในตำแหน่งที่ไม่ใช่จำนวนเต็ม ความท้าทาย เนื่องจากรายการของจำนวนเต็มตำแหน่งที่สตริงถูกพับผ่านคุณต้องพิจารณาจำนวนชิ้นที่มากที่สุดที่สตริงสามารถถูกตัดด้วยการตัดครั้งเดียวที่ตำแหน่งที่ไม่ใช่จำนวนเต็ม คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบ คุณสามารถรับอินพุตผ่าน STDIN, อาร์กิวเมนต์บรรทัดคำสั่ง, พรอมต์หรือพารามิเตอร์ฟังก์ชัน คุณสามารถเขียนผลลัพธ์ไปยัง STDOUT แสดงในกล่องโต้ตอบหรือส่งคืนจากฟังก์ชัน คุณอาจคิดว่ารายการอยู่ในรายการหรือรูปแบบสตริงที่สะดวก รายการจะมีอย่างน้อย2และไม่เกิน100รายการ รายการจะเป็นจำนวนเต็มในแต่ละช่วง-2 31 ≤ P ฉัน <2วันที่ 31 คุณอาจสมมติว่าไม่มีรายการที่ต่อเนื่องกันสองรายการเหมือนกัน รหัสของคุณจะต้องประมวลผลอินพุตดังกล่าว (รวมถึงกรณีทดสอบด้านล่าง) ในเวลาน้อยกว่า 10 วินาทีบนเดสก์ท็อปพีซีที่เหมาะสม …

13
เขียนล่ามสำหรับแคลคูลัสแลมบ์ดาที่ยังไม่พิมพ์
ความท้าทายคือการเขียนล่ามสำหรับแคลคูลัสแลมบ์ดาที่ไม่ได้พิมพ์ไว้ในตัวละครให้น้อยที่สุด เรากำหนดแคลคูลัสแลมบ์ดาที่ไม่ได้พิมพ์ดังนี้: วากยสัมพันธ์ นิพจน์มีสามประเภทดังต่อไปนี้: การแสดงออกแลมบ์ดามีรูปแบบ(λ x. e)ที่xอาจเป็นชื่อตัวแปรทางกฎหมายและeการแสดงออกทางกฎหมายใด ๆ นี่xเรียกว่าพารามิเตอร์และeเรียกว่าร่างกายของฟังก์ชั่น เพื่อความง่ายเราได้เพิ่มข้อ จำกัด เพิ่มเติมว่าจะต้องไม่มีตัวแปรที่มีชื่อเดียวกันกับxขอบเขตในปัจจุบัน ตัวแปรเริ่มต้นที่จะอยู่ในขอบเขตเมื่อชื่อของมันปรากฏขึ้นระหว่าง(λและและหยุดที่จะอยู่ในขอบเขตที่สอดคล้องกัน.) แอปพลิเคชั่นมีรูปแบบ(f a)ที่ไหนfและaเป็นนิพจน์ทางกฎหมาย ที่นี่fเรียกว่าฟังก์ชั่นและaเรียกว่าอาร์กิวเมนต์ ตัวแปรมีรูปแบบxที่xเป็นชื่อตัวแปรทางกฎหมาย อรรถศาสตร์ ฟังก์ชั่นถูกนำไปใช้โดยการแทนที่แต่ละพารามิเตอร์ที่เกิดขึ้นในร่างกายฟังก์ชั่นด้วยการโต้แย้ง อีกอย่างเป็นทางการการแสดงออกในรูปแบบ((λ x. e) a)ที่xเป็นชื่อตัวแปรและeและaมีการแสดงออกประเมิน (หรือลด) เพื่อการแสดงออกe'ที่e'เป็นผลมาจากการเปลี่ยนที่เกิดขึ้นแต่ละแห่งxในด้วยea รูปแบบปกติคือการแสดงออกซึ่งไม่สามารถประเมินเพิ่มเติม ความท้าทาย ภารกิจของคุณหากคุณเลือกที่จะยอมรับมันคือการเขียนล่ามซึ่งใช้เป็นนิพจน์ของแคลคูลัสแลมบ์ดาที่ไม่มีการพิมพ์ที่ไม่มีตัวแปรอิสระและสร้างผลลัพธ์ตามรูปแบบปกติของนิพจน์ . หากการแสดงออกไม่มีรูปแบบปกติหรือไม่ใช่การแสดงออกที่ถูกต้องพฤติกรรมที่ไม่ได้กำหนด โซลูชันที่มีจำนวนอักขระน้อยที่สุดชนะ หมายเหตุสองประการ: อินพุตอาจถูกอ่านจาก stdin หรือจากชื่อไฟล์ที่กำหนดเป็นอาร์กิวเมนต์บรรทัดคำสั่ง (คุณจะต้องใช้อย่างใดอย่างหนึ่งหรืออื่น ๆ - ไม่ใช่ทั้งสองอย่าง) เอาต์พุตไปที่ stdout อีกทางหนึ่งคุณอาจกำหนดฟังก์ชั่นที่รับอินพุตเป็นสตริงและส่งคืนเอาต์พุตเป็นสตริง หากอักขระที่ไม่ใช่ ASCII เป็นปัญหาสำหรับคุณคุณสามารถใช้เครื่องหมายแบ็กสแลช ( \) แทนλ เรานับจำนวนอักขระไม่ใช่ไบต์ดังนั้นแม้ว่าไฟล์ต้นฉบับของคุณจะถูกเข้ารหัสเป็น Unicode …

30
เคล็ดลับสำหรับการเล่นกอล์ฟใน PowerShell
คุณมีคำแนะนำทั่วไปเกี่ยวกับการเล่นกอล์ฟใน Windows PowerShell อย่างไร ฉันกำลังมองหาแนวคิดที่สามารถนำไปใช้กับปัญหารหัสกอล์ฟโดยทั่วไปซึ่งอย่างน้อยค่อนข้างเฉพาะกับ PowerShell (เช่น "ลบความคิดเห็น" ไม่ใช่คำตอบ) กรุณาโพสต์หนึ่งเคล็ดลับต่อคำตอบ -taken เกือบคำต่อคำจากคำถามของ marcog


30
ชื่อภาษาการเขียนโปรแกรมเอาท์พุท
ท้าทาย: ในภาษาการเขียนโปรแกรมที่คุณเลือกไม่ต้องป้อนและเอาท์พุทชื่อภาษาการเขียนโปรแกรมของคุณ ยุติธรรมพอใช่ไหม ข้อ จำกัด: คุณไม่สามารถใช้อักขระใด ๆ ที่รวมอยู่ในชื่อภาษาการเขียนโปรแกรมในรหัสของคุณ เช่นถ้าฉันใช้แบทช์ฉันจะต้องไม่ใช้ตัวอักษร 'B' 'a' t '' c '' h 'ในรหัสของฉัน โปรดทราบว่านี่เป็นกรณี ๆ ไป ฉันยังสามารถใช้ถ่าน 'b' เพราะมันแตกต่างจาก 'B' คุณสามารถมี "ขยะ" ก่อนหรือหลังชื่อของภาษา หมายเลขรุ่นไม่นับเป็นส่วนหนึ่งของชื่อภาษา เช่นฉันสามารถใช้หมายเลข 3 ในรหัสในคำตอบของฉันถ้าเป็นใน Python 3 เอาต์พุตของชื่อภาษาการเขียนโปรแกรมไม่คำนึงถึงขนาดตัวพิมพ์ บังคับให้ใช้การผสมผสานตัวอักษรที่เป็นไปได้ทั้งหมดและหวังว่าคุณจะได้รับชื่อภาษาของคุณเป็นสิ่งต้องห้าม ตัวอย่างผลลัพธ์: (สมมติว่าภาษาการเขียนโปรแกรมของฉันเรียกว่าภาษา) (✔ถ้าถูกต้องมิฉะนั้น✖) Language ✔ Body language is a type of non-verbal communication in which …

16
ตัวเลขที่ค้นพบใหม่: ออกมา!
"รางวัลโนเบลในวิชาคณิตศาสตร์ได้รับรางวัลจากอาจารย์ชาวแคลิฟอร์เนียผู้ซึ่งค้นพบหมายเลขใหม่! จำนวนนั้นมีน้อยซึ่งเขาอ้างว่าอยู่ระหว่าง 6 ถึง 7" - George Carlin ในความท้าทายนี้คุณจะพิมพ์จำนวนเต็มทั้งหมดรวมอยู่ในช่วงอินพุตที่กำหนด พิมพ์ตัวเลขจากน้อยไปมากหรือมากไปน้อยตามลำดับอินพุต นั่นคือสำหรับการป้อนข้อมูล[n1, n2]พิมพ์จากน้อยไปมากถ้าn1 < n2, ลงมาn1 > n2ถ้า เนื่องจากbleenตอนนี้เป็นหมายเลขจำนวนเต็มมันอาจถูกใช้เป็นอินพุต มันจะต้องรวมอยู่ในผลลัพธ์ระหว่าง6และ7ที่เกี่ยวข้อง โปรดทราบว่า-bleenมีอยู่ระหว่าง -7 ถึง -6 อินพุต Integers สองตัว[n1, n2]ในช่วง [-10, 10], รวมผ่านทางอินพุตภาษาที่คุณเลือก (อินพุตอาจมีbleenและ-bleen!) เอาท์พุต พิมพ์จำนวนเต็มทั้งหมดที่เริ่มต้นn1และลงท้ายด้วยn2รวมถึงการค้นพบใหม่bleenระหว่าง 6 และ 7 เอาท์พุทสามารถเป็นช่วงของตัวเลขที่คั่นด้วยอักขระในบางรูปแบบภาษาของคุณสนับสนุน - นั่นคือคั่นด้วยเครื่องหมายจุลภาคหรือช่องว่าง หนึ่งช่องว่างต่อท้ายของการส่งออกก็โอเค ตัวอย่าง Input: 1 10 Output: 1 2 3 4 5 …
44 code-golf  number 

18
ตัวเลขศักดิ์สิทธิ์
ในฟอนต์หลายแบบ (โดยเฉพาะในฟอนต์ Consolas ) ตัวเลข 5 ใน 10 หลักมี "รู" ในตัว เราจะเรียกเลขศักดิ์สิทธิ์เหล่านี้: 46890 ดังนั้นตัวเลข 5 หลักที่ไม่บริสุทธิ์คือ: 12357 จำนวนเต็มจึงอาจจัดเป็น "ศักดิ์สิทธิ์" หากมันมีเพียงตัวเลขศักดิ์สิทธิ์และ "ไม่บริสุทธิ์" เป็นอย่างอื่น เนื่องจาก-ไม่บริสุทธิ์จึงไม่สามารถลบเลขจำนวนเต็มลบได้ จำนวนเต็มศักดิ์สิทธิ์อาจถูกจัดประเภทเพิ่มเติมตามจำนวนหลุมที่มี ตัวอย่างเช่นตัวเลขต่อไปนี้มีความศักดิ์สิทธิ์ที่ 1: 469 และตัวเลขเหล่านี้มีความศักดิ์สิทธิ์ 2: 80 เราพูดว่าความศักดิ์สิทธิ์โดยรวมของจำนวนเต็มคือผลรวมของความศักดิ์สิทธิ์ของตัวเลข ดังนั้น80จะมีความศักดิ์สิทธิ์ 4 และ99จะมีความศักดิ์สิทธิ์ 2 ความท้าทาย ได้รับสองจำนวนเต็มn > 0และh > 0เอาท์พุทจำนวนเต็มบริสุทธิ์บริบูรณ์ซึ่งมีความศักดิ์สิทธิ์เป็นอย่างน้อยn hคุณอาจคิดว่าอินพุตและเอาต์พุตจะไม่มากกว่าจำนวนเต็มที่แทนค่าสูงสุดในภาษาของคุณหรือ2^64 - 1แล้วแต่จำนวนใดจะน้อยกว่า นี่คือรายการของจำนวนเต็มศักดิ์สิทธิ์ 25 ตัวแรกที่มีความศักดิ์สิทธิ์h >= 1สำหรับการอ้างอิง: 0, …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.