1 条题解
-
0
C++ :
#include<iostream> #include<algorithm> using namespace std; int a[12]={31,28,31,30,31,30,31,31,30,31,30,31}; void rn(int i) { if (i%4==0&&i%100!=0||i%400==0) a[1] = 29; else a[1] = 28; } int main() { int n,i,j,k,s=4,d=1,m=4,cnt=0; cin>>n; for (i=1998; i<=n; i++) { rn(i); //判断是不是闰年 k=0; while (1) { d++; //日自增 m=(m+1)%7; //0为星期7 if (d==13 && m==5 && i==n)//13号为星期五,且正好是输入的n年里 { cnt++; } if (d==a[k])//到了月份末尾 { d=0; k++; if (k>=12)//到了年末尾 { break; } } } } cout<<cnt; return 0; }
Python :
a=int(input()) a2=1998 monthdays=0 blackfriday=0 days2=3 days3=0 for i in range((a-1998+1)*12): days3+=1 if a2%4==0 and a2%100!=0: if i%12==0 or i%12==2 or i%12==4 or i%12==6 or i%12==7 or i%12==9 or i%12==11: monthdays=31 elif i%12==1: monthdays=29 else: monthdays=30 else: if a2%400==0 and a2%100==0: if i%12==0 or i%12==2 or i%12==4 or i%12==6 or i%12==7 or i%12==9 or i%12==11: monthdays=31 elif i%12==1: monthdays=29 else: monthdays=30 else: if i%12==0 or i%12==2 or i%12==4 or i%12==6 or i%12==7 or i%12==9 or i%12==11: monthdays=31 elif i%12==1: monthdays=28 else: monthdays=30 for j in range(1,monthdays+1): days2+=1 if days2==8: days2=1 if days2==5 and j==13: blackfriday+=1 if a2!=a: blackfriday=0 if days3%12==0: days3=0 a2+=1 print(blackfriday)
- 1
信息
- ID
- 2723
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者