原题链接:蓝桥杯算法提高VIP-任意年月日历输出
解题思路:
注意事项:
参考代码:
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 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复