| 5 | 1/1 | 返回列表 |
| 查看: 1063 | 回復(fù): 4 | |||
| 本帖產(chǎn)生 4 個(gè) 程序強(qiáng)帖 ,點(diǎn)擊這里進(jìn)行查看 | |||
holmescn金蟲(chóng) (正式寫(xiě)手)
|
[交流]
Euler 工程 第十九題:每月第一天是周日的天數(shù) 已有3人參與
|
||
首先我們已經(jīng)知:
那么整個(gè)20世紀(jì)有多少個(gè)月的第一天是周日呢?(從1901-1-1到2000-12-31) |
金蟲(chóng) (著名寫(xiě)手)
|
依照慣例,來(lái)個(gè)C++版本: #include bool isLeapYear(int year){ return ((year%4 == 0)&&(year%100 != 0))||(year%400 == 0); } size_t daysOfMouth(int year, int mouth){ switch(mouth){ case 4:case 6:case 9:case 11: return 30; case 1:case 3:case 5:case 7:case 8:case 10:case 12: return 31; case 2: return isLeapYear(year)?29:28; default: return 0; } } size_t eular19(size_t y1 = 1901, size_t y2 = 2001){ size_t year = 1900; size_t day = 1; do{ day += isLeapYear(year)?366:365; day %= 7; ++year; }while(year < y1); size_t sdays = 0; do{ for(int i = 1; i <= 12; ++i){ day += daysOfMouth(year, i); day %= 7; if(day == 0) ++sdays; } ++year; }while(year < y2); return sdays; } int main(){ std::cout< |

金蟲(chóng) (正式寫(xiě)手)
|
huycwork好快啊,我的python版剛寫(xiě)出來(lái) # -*- coding: utf-8 -*- days = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] date = [1900, 1, 1] cntSundays = 0 while date[0] < 2001: date[2] += 7 if date[0] % 400 == 0 or date[0] % 4 == 0: days[2] = 29 else: days[2] = 28 if date[2] > days[date[1]]: date[2] -= days[date[1]] date[1] += 1 if date[1] > 12: date[0] += 1 date[1] = 1 if 1901 <= date[0] <= 2000 and date[2] == 2: cntSundays += 1 print cntSundays |
木蟲(chóng) (著名寫(xiě)手)
|
c語(yǔ)言版本 #include static int month[2][12]= {{31,28,31,30,31,30,31,31,30,31,30,31}, {31,29,31,30,31,30,31,31,30,31,30,31}}; int isleap(int n){ if((n%400==0)||(n%4==0&&n%100!=0))return 1; else return 0; } int euler19(){ int year,leap_year,m; int result=0; long days=0; for(year=1900;year<2001;year++){ leap_year=isleap(year); for(m=0;m<12;m++){ if(year>1900&&days%7==1)result++; days+=month[leap_year][m]; } } return result; } int main(void){ printf("%d\n",euler19()); return 0; } |
至尊木蟲(chóng) (著名寫(xiě)手)
驃騎將軍
|
matlab function result = euler19() tic; result = 0; dateStart = datenum(1901,1,1); dateEnd = datenum(2000,12,31); for i=dateStart:dateEnd if strcmpi(datestr(i,'dd'),'01') && strcmpi(datestr(i,'ddd'),'sun') result = result+1; end end toc; end |

| 5 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 材料與化工一志愿南昌大學(xué)327求調(diào)劑推薦 +8 | Ncdx123456 2026-03-13 | 9/450 |
|
|---|---|---|---|---|
|
[考研] 312求調(diào)劑 +8 | 陌宸希 2026-03-16 | 9/450 |
|
|
[考博] 環(huán)境領(lǐng)域全國(guó)重點(diǎn)實(shí)驗(yàn)室招收博士1-2名 +3 | QGZDSYS 2026-03-13 | 5/250 |
|
|
[考研] 0703化學(xué)調(diào)劑 +3 | 妮妮ninicgb 2026-03-17 | 3/150 |
|
|
[考研] 0703化學(xué)336分求調(diào)劑 +6 | zbzihdhd 2026-03-15 | 7/350 |
|
|
[考研] 277調(diào)劑 +5 | 自由煎餅果子 2026-03-16 | 6/300 |
|
|
[考研] 085601求調(diào)劑 +4 | Du.11 2026-03-16 | 4/200 |
|
|
[考研] 302求調(diào)劑 +4 | 小賈同學(xué)123 2026-03-15 | 8/400 |
|
|
[考研] 333求調(diào)劑 +3 | 文思客 2026-03-16 | 7/350 |
|
|
[考研] 070300化學(xué)學(xué)碩求調(diào)劑 +6 | 太想進(jìn)步了0608 2026-03-16 | 6/300 |
|
|
[考研] 283求調(diào)劑 +10 | 小樓。 2026-03-12 | 14/700 |
|
|
[考研] 0703化學(xué)調(diào)劑,求各位老師收留 +8 | 秋有木北 2026-03-14 | 8/400 |
|
|
[考研]
|
笨笨兔子 2026-03-12 | 3/150 |
|
|
[考研] 本科南京大學(xué)一志愿川大藥學(xué)327 +3 | 麥田耕者 2026-03-14 | 3/150 |
|
|
[考研] 255求調(diào)劑 +3 | 李嘉慧, 2026-03-12 | 4/200 |
|
|
[考研] [0860]321分求調(diào)劑,ab區(qū)皆可 +4 | 寶貴熱 2026-03-13 | 4/200 |
|
|
[考研] 一志愿西南交大,材料專(zhuān)碩317求調(diào)劑 +5 | lx8568 2026-03-11 | 5/250 |
|
|
[考研] 考研調(diào)劑 +4 | 芬達(dá)46 2026-03-12 | 4/200 |
|
|
[考研] 一志愿211化學(xué)學(xué)碩310分求調(diào)劑 +8 | 努力奮斗112 2026-03-12 | 9/450 |
|
|
[考研] 土木第一志愿276求調(diào)劑,科研和技能十分豐富,求新興方向的導(dǎo)師收留 +3 | 土木小天才 2026-03-12 | 3/150 |
|