月齢計算式の誤差が気になる
月齢計算アプリ、とりあえず完成 - Throw or Die and ChouChou
いつの間にか2日分もずれていたので、計算式を修正。
- 修正前
int mp[] = {0,2,0,2,2,4,5,6,7,8,9,10}; double phase = (((year - 11) % 19) * 11 + mp[month - 1] + day) % 30;
- 修正後
double phase = (((year - 2009) % 19) * 11 + month + day) % 30; if((month == 1) || (month == 2)) { phase += 2; }
誤差が一日以内になった。