點讚再看,養成習慣
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...