ฉันกำลังพูดถึงคำถามนี้ลองดูสิถ้าคุณสับสน
งานหลัก
งานของคุณคือการส่งออกตัดแบ่งจำนวนเต็มในลำดับที่ลดลง แต่เพิ่มขึ้นทุกจำนวนเต็มสูงสุดที่คุณตี1 (สำหรับคำถามนี้ 1 จะได้รับการพิจารณาจำนวนเฉพาะ) ในขณะที่สิ่งนี้ไม่ได้มีความแตกต่างจากคำถามแรกนี่คือส่วนที่ยุ่งยาก: ตัวเลขที่ส่งออกทั้งหมดอาจเป็นเฉพาะช่วงเวลาเท่านั้น สิ่งเหล่านี้จะถูกรวมเข้าด้วยกันเป็นสตริงเดียวโดยไม่มีช่องว่างหรือขึ้นบรรทัดใหม่ ข้อมูลที่คุณป้อนจะเป็นหมายเลขเฉพาะ
ตัวอย่าง:
1
21
321
5321
75321
1175321
Valid output:
1213215321753211175321
อินพุต
รหัสของคุณอาจรับเพียงหนึ่งอินพุตเท่านั้น: ค่าสูงสุดที่จะพิมพ์ อินพุตนี้สามารถมาจากที่ใดก็ได้ (กราฟิก, STDIN) คุณมั่นใจได้ว่าการป้อนข้อมูลเป็นจำนวนเฉพาะ
เอาท์พุต
คุณจะต้องส่งออกหมายเลขผลลัพธ์ คุณสามารถรับหมายเลขนี้ได้โดยนับถอยหลังนับเฉพาะตัวเลขหากเป็นจำนวนเฉพาะแล้วเชื่อมต่อผลลัพธ์ทั้งหมดเข้าด้วยกันเป็นหนึ่งหมายเลข 7, 5, 3, 2, 1ต้องพิมพ์หมายเลข "แถว" สุดท้าย (เช่น) ทั้งหมด ผลลัพธ์อาจเป็นอะไรก็ได้ (ตัวเลขสตริงกราฟิก) ตราบใดที่สามารถอ่านได้ รูปแบบ Regex เดียวกันสำหรับตรวจสอบกรณีทดสอบของคุณจะนำไปใช้:
^(\D*(\d)+\D*|)$
หากผลลัพธ์ของคุณไม่ตรงกับรูปแบบนี้รหัสของคุณจะไม่ถูกต้อง
กฎระเบียบ
- อินพุตมั่นใจได้ว่าจะดีเลิศไม่รวมถึงการจัดการข้อผิดพลาดเว้นแต่คุณต้องการ / จำเป็น
- ผลลัพธ์อาจเป็นหมายเลขที่เชื่อมต่อเต็มเท่านั้นดังนั้นจึงไม่แยกตามอะไรเลยแม้แต่บรรทัดใหม่
- อัลกอริทึมของคุณไม่ควรตรวจสอบตัวอย่างแรกของการ
Nปรากฏ (ตัวอย่างเช่น17ใน1175321) แต่สำหรับตัวอย่างแรกของNจำนวนที่เกิดขึ้นจริง - ข้อมูลที่คุณป้อนเข้าสู่ระบบเป็นบวกอย่าเพิ่มการจัดการเว้นแต่คุณต้องการ / จำเป็น
กรณีทดสอบ
Input: -2, 0
Output: Any, or none (number isn't positive)
Input: 9
Output: Any, or none (number isn't prime)
Input: 1
Output: 1
Input: 7
Output: 121321532175321
Input: 23
Output: 1213215321753211175321131175321171311753211917131175321231917131175321
ผู้ชนะ
นี่คือโค้ดกอล์ฟดังนั้นผู้เขียนรหัสที่มีความยาวน้อยที่สุดเป็นไบต์จะชนะ!
1ขัดแย้งกับสเป็คโดยตรงซึ่ง " มั่นใจ " ว่าหมายเลขอินพุตจะเป็นไพรม์ 2. สเป็คเอาท์พุทดูเหมือนจะมีความขัดแย้งและความกำกวมหลายอย่าง " แถวสุดท้าย" แถว "(เช่น 7, 5, 3, 2, 1) จะต้องพิมพ์เต็ม " - ดังนั้นคนอื่นจะไม่? " รูปแบบ Regex เดียวกันสำหรับตรวจสอบกรณีทดสอบของคุณใช้ " แต่ " ผลลัพธ์อาจเป็นตัวเลขที่เชื่อมต่อเต็มเท่านั้นดังนั้นจึงไม่แยกจากสิ่งใด " ขัดแย้งกับ regex แต่เร็กคอร์ดนั้นหลบอย่างชัดเจนเพราะมันอนุญาตให้มีสตริงว่างและไม่มีอินพุตที่สามารถให้สิ่งนั้นได้
1มันจะเป็นคำนิยามที่ดีที่สุด