ในภาษาอังกฤษคำนามสามารถใช้สองรูปแบบที่แตกต่างกันขึ้นอยู่กับว่าพวกเขาเป็นเอกพจน์ (หนึ่ง) หรือพหูพจน์ (สิ่งอื่น) ตัวอย่างเช่นเราจะพูดว่า "1 สุนัข" แต่ "สุนัข 2 ตัว", "0 สุนัข", "57 สุนัข" เป็นต้น
ในรัสเซียมีสามประเภท แทนที่จะเป็น "สุนัข 1 ตัว, สุนัข 2 ตัว, สุนัข 5 ตัว" ในภาษารัสเซียมันจะเป็น "1 собака, 2 собаки, 5 собак"
หมวดหมู่จะถูกแบ่งตามตรรกะต่อไปนี้:
- "เอกพจน์": ใช้สำหรับ 1 และหมายเลขใด ๆ ที่ลงท้ายด้วย 1 ยกเว้นตัวเลขที่ลงท้ายด้วย 11
- ตัวอย่าง: 1 собака, 21 собака, 101 собака
- "Few": ใช้สำหรับ 2, 3 และ 4 และหมายเลขใด ๆ ที่ลงท้ายด้วย 2, 3 หรือ 4 ยกเว้นตัวเลขที่ลงท้ายด้วย 12, 13 และ 14
- ตัวอย่าง: 2 собаки, 3 собаки, 4 собаки, 32 собаки, 43 собаки, 104 собаки
- "หลายคน": สิ่งใดก็ตามที่ไม่ถือว่าเป็น "เอกพจน์" หรือ "ไม่กี่"
- ตัวอย่าง: 0 собак, 5 собак, 11 собак, 13 собак, 25 собак, 111 собак, 111 собак, 114 собак
ความท้าทาย
กำหนดอินพุตจำนวนเต็มในช่วง [0, 1,000] ส่งคืน1
หากเป็นของหมวดหมู่ "เอกพจน์" 2
หากเป็นของหมวดหมู่ "ไม่กี่" และ5
หากอยู่ในหมวดหมู่ "จำนวนมาก"
โปรแกรมของคุณอาจเป็นฟังก์ชันหรือสามารถใช้ STDIN ได้ คุณอาจพิมพ์ไปที่ STDOUT หรือคืนค่าจากฟังก์ชั่น
นี่เป็นความท้าทายของการเล่นกอล์ฟดังนั้นการแก้ปัญหาที่มีจำนวนไบต์น้อยที่สุดจึงเป็นทางออก
1
, 2
และ5
โดยเฉพาะอย่างยิ่ง? นอกจากนี้ทำไมฉันไม่สามารถใช้รหัสออกได้