T156530 儒略曆 傳智杯 練習賽

2021-10-10 18:09:35 字數 2102 閱讀 9707

點讚再看,養成習慣

t156530 儒略曆

但某位皇帝發現這麼做其實不夠準確,會造成誤差,因此規定從 1582 年開始,以 4 為倍數的年份,除了以 100 為倍數且不為 400 的倍數年份,才是閏年。同時為了消除誤差,規定 1582 年 10 月 4 日的下一天是 1582 年 10 月 15 日,中間的日期就當作不存在了。

現在給出日期,計算這個日期到公元 1 年 1 月 1 日經過的天數。

輸入格式:

按照 日月年 的格式輸入資料,其中日是 1 到 31 之間的整數,月是三個大寫字母,年是 1 到 9999 之間的整數。保證這個日期是合法且存在的。

月份的大寫字母:

1月:jan

2月:feb

3月:mar

4月:apr

5月:may

6月:jun

7月:jul

8月:aug

9月:sep

10月:oct

11月:nov

12月:dec

輸出格式:

按照輸入的順序輸出中獎名單,每個暱稱佔一行。如果沒有人中獎,則輸出 keep going…。

輸出乙個整數表示答案

#include

#include

#include

#include

using

namespace std;

intmain()

; cin>>in;

int day=

0,year=

0,i,j;

int is1 =

1,is2 =0;

for(i=

0;ilength()

;i++

)elseif(

isalpha

(in[i]))

if(is2 &&

isdigit

(in[i]))

}int mou =0;

for(i=

1;i<

13;i++)}

int ans =

0,is2y;

if(year <

1582

)else}if

(year %4==

0&& mou >=2)

else

for(i=

1;i)else

if(i ==2)

else

} ans +

= day;

}else

if(year ==

1582

)else}if

(mou <10)

else

if(i ==2)

else

} ans +

= day;

}else

if(mou ==10)

else

if(i ==2)

else}if

(day <=4)

else

}else

else

if(i ==2)

else

} ans +

= day -10;

}}else

else

} ans -=10

;for

(i=1583

;i)else}if

(((i%4==0

&& i%

100!=0)

|| i%

400==0)

&& mou >=2)

else

for(i=

1;i)else

if(i ==2)

else

} ans +

= day;

} cout<

return0;

}

洛谷 T156530 儒略曆

在 1582 年之前,以 4 為倍數的年份為閏年。正常情況下,一年中一月到十二月的天數分別是 31,28,31,30,31,30,31,31,30,31,30,31 天。如果這年是閏年,那麼二月則有 29 天。但某位皇帝發現這麼做其實不夠準確,會造成誤差,因此規定從 1582 年開始,以 4 為倍數...

T156528 單位轉換 傳智杯(練習賽)

題目描述 我們知道計算機的大小單位有 b,kb,mb 等,現在請你編寫乙個計算器進行大小單位換算。提示,1 gb 2 10 mb 2 20 kb 2 30 b 輸入格式 輸入乙個字串,由乙個 0 到 1023 之間的整數,乙個單位名稱 大寫字母 乙個等於號和問號,以及第二個單位名稱。單位只有可能是 ...

傳智杯 眾數出現的次數

題目 2315 傳智杯 眾數出現的次數 時間限制 5sec 記憶體限制 512mb 提交 318 解決 120 題目描述 傳智專修學員的課堂上,為了活躍氣氛,並鞏固位運算的知識,同學們玩起了乙個遊戲。班級裡有 n n 10 6 名同學,每位同學都獲得了兩張卡,紅卡或者黑卡。每張卡上都有乙個不超過 1...