โจทย์: ปฏิทินสัปดาห์เป็นคอลัมน์ วันที่เป็นแถว กำหนดเดือน m และวันของสัปดาห์วันที่ 1 คือ d (ปีไม่ใช่ปีอธิกสุรทิน) หาจำนวนคอลัมน์ที่ต้องการ
Input: m=11 (พฤศจิกายน), d=6 (เสาร์) → Output: 5
ขั้นตอนแก้
a := [0,31,28,31,30,31,30,31,31,30,31,30,31] return (a[m] + d + 5) / 7
ตัวอย่างโค้ด
#include <bits/stdc++.h>
using namespace std;
int solve(int m, int d) {
int a[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
return (a[m] + d + 5) / 7;
}
int main() {
int m = 11, d = 6;
cout << solve(m,d) << endl;
}Input
11, 6
Output
5