解题思路:

注意事项:

参考代码:

n,m=map(int,input().split())
def yunn(x):
    s =0
    for i in range(2007,x):
        if i%100!=0 and i%4==0:
            s += 1 
        if i%400==0:
            s += 1 
    return s 
def isyun(n):
    if n%100!=0:
        if n%4==0:
            return 1 
        else:
            return 0 
    else:
        if n%400 ==0:
            return 1 
        else:
            return 0 
def mnum(n,m):
    dy={1:31,2:29,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31}
    dp={1:31,2:28,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31}
    global numm
    if isyun(n)==0:
        days = dp[m]
        s=0 
        for i in range(1,m):
            s += dp[i]
        return [s,days] 
    else:
        days = dy[m]
        s=0 
        for i in range(1,m):
            s += dy[i]
        return [s,days] 
num=(n-2007)*365+yunn(n)+mnum(n,m)[0]
yu=num%7+1 
print('''---------------------
 Su Mo Tu We Th Fr Sa
---------------------''')
print(' '*(yu*3),end='')
g=7-yu+1
h=1
for i in range((mnum(n,m)[1]+yu)//7):
    for i in range(h,g):
        print('%3d'%i,end='')
    h =g
    g+=7 
    print()
if (yu+mnum(n,m)[1])%7!=0:
    for i in range(h,mnum(n,m)[1]+1):
        print('%3d'%i,end='')
    print()
    print('---------------------')
else:
    print('---------------------')


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论