เอาโจทย์ ข้อสอบแข่งขันคอมพิวเตอร์โอลิมปิก สอวน. ครั้งที่ 1 ปี 2548 มาให้ลองทำกันครับ มาดูกันสิว่าโจทย์ระดับแข่งขันยากขนาดไหน ที่มา : http://www.posn.or.th/
เลขนักเก็ต (Nugget Number)
ร้านฟาสต์ฟู้ดแห่งหนึ่งขายนักเก็ตเป็นกล่อง มีกล่องนักเก็ตอยู่ 3 ขนาด คือ เล็ก, กลาง, และใหญ่ ใส่นักเก็ตจํานวน 6, 9, และ 20 ชิ้นตามลําดับ
เลขนักเก็ตคือจํานวนเต็มบวกที่เกิดจากผลรวมของจํานวนนักเก็ตในกล่องขนาดต่างๆ เช่น เลข 6 เป็นเลขนักเก็ตเพราะเป็นจํานวนนักเก็ตในกล่องเล็ก, เลข 12 เป็นเลขนักเก็ตเพราะเกิดจากการรวมกันของจํานวนนักเก็ตในกล่องเล็กสองกล่อง, เลข 15 เป็นเลขนักเก็ตเพราะเกิดจากการรวมกันของจํานวนนักเก็ตในกล่องเล็กหนึ่งกล่องและกล่องกลางหนึ่งกล่อง เป็นต้น เลข 4 และ 10 ไม่เป็นเลขนักเก็ตเพราะเลขดังกล่าวไม่สามารถเกิดจากการรวมกันของจํานวนนักเก็ตในกล่องขนาดใดๆ ได้
จงหาเลขนักเก็ตที่มีค่าน้อยกว่าหรือเท่ากับค่า n
ข้อมูลนําเข้า
รับค่า n ที่เป็ นจํานวนเต็ม จาก standard input โดยที่ 1 ≤ n ≤ 100
ข้อมูลส่งออก
ผลลัพธ์จะส่งออกไปยัง standard output โดยพิมพ์เลขนักเก็ตที่น้อยกว่าหรือเท่ากับ n โดยเรียงค่าจากน้อยไปหา
มาก พิมพ์บรรทัดละหนึ่งตัวเลข ถ้าไม่มีเลขนักเก็ตที่น้อยกว่าหรือเท่ากับ n ให้พิมพ์คําว่า no
ตัวอย่างที่ 1
ข้อมูลนําเข้า |
ข้อมูลส่งออก |
15 |
6
9
12
15 |
ตัวอย่างที่ 2
ข้อมูลนําเข้า |
ข้อมูลส่งออก |
4 |
no |
Source Code
ถ้าบทความนี้มีคนแชร์ เกิน 10 จะมาเฉลยให้ดูกันนะครับ ^^