当这年是365天时
一月一号是周一,周二。。。。周末的情形是
10个 10个 10个 10个 9个 7个 9个
当这年是366天时
一月一号是周一,周二。。。。周末的情形是
10个 10个 10个 9个 9个 9个 9个
可以理解为
366/7=53星期
除去每个月必有的四个星期 53-12×4=5
最理想情况下那5个星期被10个月分了,就是10个月
我编vb做的,有可能错误,但是绝对不是5个月
Private Sub Command1_Click()
Dim a, b, c, d, t As Integer
For a = 1 To 7
b = a
d = 1
For c = 2 To 31
b = b + 1
If b = 8 Then b = 1
If b = 1 Then d = d + 1
Next c
If d = 5 Then t = t + 1
d = 1
For c = 2 To 29
b = b + 1
If b = 8 Then b = 1
If b = 1 Then d = d + 1
Next c
If d = 5 Then t = t + 1
d = 1
For c = 2 To 31
b = b + 1
If b = 8 Then b = 1
If b = 1 Then d = d + 1
Next c
If d = 5 Then t = t + 1
d = 1
For c = 2 To 30
b = b + 1
If b = 8 Then b = 1
If b = 1 Then d = d + 1
Next c
If d = 5 Then t = t + 1
d = 1
For c = 2 To 31
b = b + 1
If b = 8 Then b = 1
If b = 1 Then d = d + 1
Next c
If d = 5 Then t = t + 1
d = 1
For c = 2 To 30
b = b + 1
If b = 8 Then b = 1
If b = 1 Then d = d + 1
Next c
If d = 5 Then t = t + 1
d = 1
For c = 2 To 31
b = b + 1
If b = 8 Then b = 1
If b = 1 Then d = d + 1
Next c
If d = 5 Then t = t + 1
d = 1
For c = 2 To 31
b = b + 1
If b = 8 Then b = 1
If b = 1 Then d = d + 1
Next c
If d = 5 Then t = t + 1
d = 1
For c = 2 To 30
b = b + 1
If b = 8 Then b = 1
If b = 1 Then d = d + 1
Next c
If d = 5 Then t = t + 1
d = 1
For c = 2 To 31
b = b + 1
If b = 8 Then b = 1
If b = 1 Then d = d + 1
Next c
If d = 5 Then t = t + 1
d = 1
For c = 2 To 30
b = b + 1
If b = 8 Then b = 1
If b = 1 Then d = d + 1
Next c
If d = 5 Then t = t + 1
d = 1
For c = 2 To 31
b = b + 1
If b = 8 Then b = 1
If b = 1 Then d = d + 1
Next c
If d = 5 Then t = t + 1
d = 1
Print t
t = 0
Next a
End Sub
温馨提示:答案为网友推荐,仅供参考