1 solutions
-
0
C :
#include<stdio.h> int main() { int year,m=0,n,t,c,d,a=0,b=5,x,i,k; scanf("%d",&year); n=2010-year; for(i=1;i<=n;i++) { if((year+i)%4==0&&(year+i)%100!=0||(year+i)%400==0) m+=366; else { m+=365; c=i; } } for(i=12*n-1;i>0;i--) { t=i%12; d=i/12+1; switch(t) { case 4:case 6:case 9:case 11: b+=30%7; b=b%7; if(b==5) a++; m-=31; break; case 2: if(d==c) { b+=30%7; b=b%7; m-=28; } else { m-=29; b+=30%7; b=b%7; } break; default: b+=31%7; b=b%7; if(b==5) a++; m-=30; break; } } printf("%d",a); }C++ :
#include <iostream> using namespace std; int main() { int n; cin>>n; int w,y,c,m,d,ans=0,flag=0; for (int i=n+1;i<=2010;i++){ y=(i-1)%100; c=((i-1)/100)%10+(i-1)/1000*10; for (int j=1;j<=12;j++){ if (j==1){ m=13; y--; flag=1; } if (j==2) continue; else if(j>=3){ m=j; if (flag){ y++; flag--; } } w=(y+y/4+c/4-(2*c)+((26*(m+1))/10)+30-1)%7; if (w==5) ans++; } } cout<<ans<<endl; return 0; }
- 1
Information
- ID
- 17639
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By