日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

32:日历问题

發布時間:2025/3/21 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 32:日历问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

32:日歷問題

  • 查看
  • 提交
  • 統計
  • 提問
總時間限制:?
1000ms
內存限制:?
65536kB
描述

在我們現在使用的日歷中, 閏年被定義為能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它們不是閏年。例如:1700, 1800, 1900 和 2100 不是閏年,而 1600, 2000 和 2400是閏年。 給定從公元2000年1月1日開始逝去的天數,你的任務是給出這一天是哪年哪月哪日星期幾。

輸入
輸入一行,每行包含一個正整數,表示從2000年1月1日開始逝去的天數。數據保證結果的年份不會超過9999。
輸出
輸出一行,該行包含對應的日期和星期幾。格式為“YYYY-MM-DD DayOfWeek”, 其中 “DayOfWeek” 必須是下面中的一個: "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" 或 "Saturday“。
樣例輸入
1
樣例輸出
2000-01-02 Sunday
來源
2080
1 #include<iostream> 2 using namespace std; 3 int bgyear,bgmonth,bgday; 4 int enyear,enmonth,enday; 5 int month[21]={0,31,28,31,30,31,30,31,31,30,31,30,31};//非閏年 6 int rmonth[21]={0,31,29,31,30,31,30,31,31,30,31,30,31};//閏年 7 int flag=1; 8 int tot=0; 9 int dow=6; 10 string week[8]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"}; 11 int main() 12 { 13 int n; 14 cin>>n; 15 bgyear=2000; 16 bgmonth=1; 17 bgday=1; 18 for(int i=2000;i<=10000;i++)//尋找年數上的差異 19 { 20 if((i%4==0&&i%100!=0)||(i%400==0)) 21 { 22 for(int j=1;j<=12;j++) 23 { 24 if(i==bgyear&&j<bgmonth) 25 continue;//尋找開始月份 26 for(int k=1;k<=rmonth[j];k++) 27 { 28 if(tot==n) 29 { 30 if(j<10&&k<10) 31 { 32 cout<<i<<"-"<<"0"<<j<<"-"<<"0"<<k<<" "<<week[dow-1]; 33 return 0; 34 } 35 else if(j<10) 36 { 37 cout<<i<<"-"<<"0"<<j<<"-"<<k<<" "<<week[dow-1]; 38 return 0; 39 } 40 else if(k<10) 41 { 42 cout<<i<<"-"<<j<<"-"<<"0"<<k<<" "<<week[dow-1]; 43 return 0; 44 } 45 else 46 { 47 cout<<i<<"-"<<j<<"-"<<k<<" "<<week[dow-1]; 48 return 0; 49 } 50 }//最后一天 51 tot++; 52 dow++; 53 if(dow==8) 54 dow=1; 55 } 56 57 } 58 }//閏年 59 else 60 { 61 62 for(int j=1;j<=12;j++) 63 { 64 for(int k=1;k<=month[j];k++) 65 { 66 if(tot==n) 67 { 68 if(j<10&&k<10) 69 { 70 cout<<i<<"-"<<"0"<<j<<"-"<<"0"<<k<<" "<<week[dow-1]; 71 return 0; 72 } 73 else if(j<10) 74 { 75 cout<<i<<"-"<<"0"<<j<<"-"<<k<<" "<<week[dow-1]; 76 return 0; 77 } 78 else if(k<10) 79 { 80 cout<<i<<"-"<<j<<"-"<<"0"<<k<<" "<<week[dow-1]; 81 return 0; 82 } 83 else 84 { 85 cout<<i<<"-"<<j<<"-"<<k<<" "<<week[dow-1]; 86 return 0; 87 } 88 }//最后一天 89 tot++; 90 dow++; 91 if(dow==8) 92 dow=1; 93 } 94 } 95 }//非閏年 96 } 97 return 0; 98 }

?

總結

以上是生活随笔為你收集整理的32:日历问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。