萬年曆公式之迷思?

Home Home
引用 | 編輯 andyz
2005-07-14 22:15
樓主
推文 x0
有沒有人知道萬年曆的公式呢?
我是用以下的方法寫的

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int year,y,firthday,month={31,28,31,30,31,30,31,31,30,31,30,31},spaceday,counttochangeline;
cout<<"enter year"<<endl;
cin>>year;
y=year-1;
firthday=(36+y+(y/4)-(y/100)+(y/400))%7+1;
spaceday=firthday-1;

if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) month=29;

for(int cmonth=0;cmonth<12;cmon ..

訪客只能看到部份內容,免費 加入會員



獻花 x2
引用 | 編輯 夷希微
2005-07-16 08:15
1樓
  
其實您寫成這樣已經算是很簡了(比我以前寫的簡的太多了) ^^" 表情 表情 表情
尤其是以下這一行 ^_^
firthday=(36+y+(y/4)-(y/100)+(y/400))%7+1;
真是沒有想到,這樣一行公式就可以計算出該年一月第一天是星期幾了 ^^" 表情 表情
坦白說,我們以前都是從 1911/1/1 那一天『開始計算』日子的說(因為那一天剛好是星期天 :P) ^^" 表情 表情

獻花 x0
引用 | 編輯 andyz
2005-07-16 10:56
2樓
  
下面是引用夷希微於2005-07-16 08:15發表的 :
其實您寫成這樣已經算是很簡了(比我以前寫的簡的太多了) ^^" 表情 表情 表情
尤其是以下這一行 ^_^

真是沒有想到,這樣一行公式就可以計算出該年一月第一天是星期幾了 ^^" 表情 表情
坦白說,我們以前都是從 1911/1/1 那一天『開始計算』日子的說(因為那一天剛好是星期天 :P) ^^" 表情 表情

原來如此
難怪我看其他人用JAVA SCRIPT 寫的年曆都有 if (year>1911)之類的
使的我看不懂這行是用來做啥的 表情

獻花 x0
引用 | 編輯 0951020223
2005-07-21 02:19
3樓
  
下面是引用andyz於2005-07-16 10:56發表的 :


原來如此
難怪我看其他人用JAVA SCRIPT 寫的年曆都有 if (year>1911)之類的
使的我看不懂這行是用來做啥的 表情

你在網路上看到的網頁....那ㄍ事屬陰陽合歷...

它會從1911開始算...也只是要配合農曆的部分.....

國歷的部分..參考一下我發過的問題.....http://bbs.mychat.to/read.php?tid=132955&keyword=

農曆就有點難摟....看過有人用星體運動的程式庫來算的....(因為它是算月球運動嘛....)

獻花 x0
引用 | 編輯 j14387
2008-05-12 09:57
4樓
  
表情謝謝大大無私的分享

獻花 x0
引用 | 編輯 frankie19911
2010-10-20 12:20
5樓
  
大大!!!我是新新手!!可以麻煩給個註解!!??

獻花 x0
引用 | 編輯 csr
2011-02-01 21:38
6樓
  
真是受教了
不過還真看不懂
謝謝

獻花 x0
引用 | 編輯 王廷睿
2012-01-31 22:23
7樓
  
請問這個
firthday=(36+y+(y/4)-(y/100)+(y/400))%7+1;
是什麼意思呢?

獻花 x0
引用 | 編輯 Crea*dar
2012-02-20 21:28
8樓
  
有點難懂0.0 請問這是要用哪個程式寫

獻花 x0