จำนวนเต็มบวกบางตัวสามารถแสดงได้ว่ามีคุณสมบัติที่เรียกว่าการแบ่งแยกแบบลูกโซ่ เพื่อให้ตัวเลขหารด้วยห่วงโซ่โดย nจะต้องตอบสนองความต้องการสามประการ:
แต่ละหลักหารตัวเลขที่เกิดขึ้นจาก ตัวเลขnที่ตามมา
ตัวอย่างเช่นจำนวน 7143 เป็นห่วงโซ่หารด้วย 2 เพราะ 7 หาร 14 และ 1 หาร 43 มันไม่ใช่ห่วงโซ่หารด้วย 3 เพราะ 7 ไม่หาร 143
แต่ละองค์ประกอบที่คำนึงถึงการหารต้องไม่มีเลขศูนย์นำหน้า
ตัวอย่างเช่นหมายเลข 14208 นั้นไม่สามารถแบ่งย่อยได้ด้วย 2 เพราะ 08 เป็นศูนย์นำหน้า อย่างไรก็ตามเป็นห่วงโซ่ที่หารด้วย 3 ได้เพราะ 208 ไม่มีศูนย์นำหน้า
ตัวเลขทั้งหมดในหมายเลขต้องไม่ซ้ำกัน
ตัวอย่างเช่นจำนวน 14280 เป็นห่วงโซ่หารด้วย 2, 3 และ 4 หากคำอธิบายของฉันเกี่ยวกับการแบ่งแยกห่วงโซ่ไม่ชัดเจนโปรดถามคำถามในความคิดเห็น
อินพุต
อินพุตไปยังโปรแกรมประกอบด้วยเลขจำนวนเต็มเดียวn
ตามด้วยช่องว่างจากนั้นตัวเลขที่มีตัวเลขที่แน่นอนแทนที่ด้วยเครื่องหมายขีดล่าง ตัวอย่างเช่นต่อไปนี้เป็นอินพุตที่เป็นไปได้:
3 6__2__4508
nจะมากกว่า 1 ตัวเลขจะไม่มีขีดล่างทั้งหมด คุณไม่สามารถรับประกันได้ว่าตัวเลขตัวแรกจะไม่ใช่ขีดล่าง ตัวเลขตัวแรกจะไม่เป็น 0. nจะไม่มากกว่าหรือเท่ากับจำนวนหลักในจำนวนนั้น
เอาท์พุต
การส่งออกจำนวนที่มีตัวเลขแทนที่ด้วยจำนวนเต็มเช่นว่าจำนวนที่เกิดเป็นห่วงโซ่หารด้วยn หากมีมากกว่าหนึ่งวิธีในการเติมจำนวนลูกโซ่ที่หารได้ให้คงอยู่อาจใช้วิธีใดก็ได้เป็นผลลัพธ์ no answer
หากมีตัวเลขที่ไม่สามารถดำเนินการได้ผลผลิต ตัวอย่างเช่นผลลัพธ์ของอินพุตตัวอย่างอาจเป็น:
6132794508
นี่คือรหัสกอล์ฟดังนั้นรหัสที่สั้นที่สุดชนะ
n
มากกว่าหรือเท่ากับจำนวนหลักในจำนวนนั้นจำนวนนั้นจะหารด้วยลูกโซ่?