ข้อสอบท้ายค่าย 1 ศูนย์ สอวน.กรุงเทพมหานคร ปี 2567 ข้อที่ 4
Problem
สรุปโจทย์
รับค่าวันของวันสิ้นปี แล้วแสดงผลออกมาเป็นวันแม่เเห่งชาติในปีเดียวกัน (1 คือวันอาทิตย์ ไล่ไปเรื่อยๆจนถึง 7 คือวันเสาร์)
สิ่งที่ต้องทำ
เขียนโค้ดเพื่อหาวันแม่แห่งชาติในปีนั้น
ตัวอย่าง
Input | Output |
---|---|
3 | 2 |
Prerequisites
- Math
Solution
วิธีทำ
หากลองไล่นับจำนวนวัน จะได้ว่า ตั้งแต่วันแม่ ถึงวันสิ้นปี จะมีทั้งหมด 141 วัน นั่นคือ หากเราลบ 141 ออกจากวันที่เราได้รับมา แล้วหาเศษที่เหลือจากการหารด้วย 7 เราจะได้เป็นวันในสัปดาห์ของวันนั้น
ซึ่งสังเกตว่า 141 จะสมภาคกับ 1 ภายใต้มอดุโล 7 (จำนวนวันในสัปดาห์)
ดังนั้น จาก Observation และการคำนวณต่างๆ เราจะสามารถ -1 ค่านั้น แล้วตอบได้เลย แต่แค่เขียน if-else
ดักเอาไว้ กรณีที่ค่าที่เรารับมาเท่ากับ 1 เมื่อ -1 จะเหลือ 0 เราก็แค่พิมพ์ตอบไปเป็น 7 นั่นเองครับ