1.1 Friday the Thirteenth

      之前也據說過黑色星期五,既是13號,又是星期五,這彷佛這是個不詳的日子,這個題目要咱們經過計算了解一下黑色星期五是否有特別之處:計算是13號又是星期五的天數,以及13號,其餘六天的天數,看看黑色星期五的天數是否特別些。要求計算從1900年1月1號開始,到1990+n-1年12月31號結束。已知1900年1月1號是星期一,要注意考慮平年閏年。輸入爲一個小於400的非負整數n,輸出爲7個不一樣天的天數。spa

/*
ID: whutzha1  
PROG: friday  
LANG: C++  
*/
#include<fstream>
using namespace std;
ifstream cin("friday.in");
ofstream cout("friday.out");
int main()
{
  int  year=1900;
  int  month_day,date,month;
  date=(13-1+1)%7;
  int  arr[7];
  int  i,n;
  bool leap;
  for  (i=0;i<7;i++)  arr[i]=0;
  cin>>n;
  arr[date]++;
  while (year<1900+n)
  {
     month=1;
     if((year%4==0&&year%100!=0)||year%400==0)  leap=true;
	 else leap=false;
	 while(month<=12)
	 {
	   switch (month)
	   {
	    case 4:
	    case 6:
	    case 9:
		case 11:  month_day=30;break; 
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:  month_day=31;break;
		case 2:   if (leap) month_day=29;
			      else month_day=28; break;
		default:  break;
	   }
	     month=month++;
		 date=(date+month_day)%7;
		 arr[date]++;
	 }
	 year++;
  }
     arr[date]--;
     for (i=6;i<12;i++)
	 { 
        cout<<arr[i%7]<<' ';
	 }
	 cout<<arr[5]<<endl;
	 return 0;
}

         百度了一下,黑色星期五之因此爲黑色星期五,只是由於在西方國家中星期五和13都是不吉利的數字,而這兩個不幸的數字疊加在一塊兒,就成了大大的不幸,因此這樣的日子被稱爲黑色星期五!而事實上,這個黑色星期五在天數上也沒什麼特別之處,和其餘的天的天數差很少罷了!code

相關文章
相關標籤/搜索