[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 20:18 / Filesize : 259 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

プログラミングの為の数学と算数 vol.2



1 名前:デフォルトの名無しさん [04/09/05 16:22]
プログラムに必要な数学、算数に関する話題について
語りましょう。TIPS/Q&Aスレです。

88 名前:デフォルトの名無しさん mailto:sage [04/10/16 00:09:07]
とりあえず頭から
1
1

2
1 2 1

3
2 2 1 3 1 2 2

4
1 3 1 3 2 2 1 4 2 2 3 3 1 3 1

と、初出の数nが出たら、そこから次にそのnが出る位置と反対側に次の数n+1が出てるような希ガス。
で、上で抜き出した数列の項数は順番に1,3,7,15,31,…
階差を取ると2,4,8,16,…

というのがちゃんと続いているのかどうかは2行目までしか確かめてません

89 名前:79 mailto:sage [04/10/16 07:39:14]
どうやら答えが出ないようなので、正解を出しておく

2=2[=>1], 3=3[=>1], 4=2*2[=>2], 5=5[=>1], 6=2*3[=>2], 7=7[=>1], 8=2*2*2[=>3],
9=3*3[=>2], 10=2*5[=>2], 11=11[=>1], 12=2*2*3[=>3], 13=13[=>1], 14=2*7[=>2],
15=3*5[=>2], 16=2*2*2*2[=>4], 17=17[=>1], 18=2*3*3[=>3], 19=19[=>1],
20=2*2*5[=>3], 21=3*7[=>2], 22=2*11[=>2], 23=23[=>1], 24=2*2*2*3[=>4],
25=5*5[=>2], 26=2*13[=>2], 27=3*3*3[=>3], 28=2*2*7[=>3], 29=29[=>1],
30=2*3*5[=>3], ...

やっぱり数の世界は奥が深いね・・・


90 名前:デフォルトの名無しさん mailto:sage [04/10/16 08:47:52]
orz

91 名前:デフォルトの名無しさん mailto:sage [04/10/16 13:57:36]
2スタートが思いつかねー。
というかこの場合、1=1[=>0]もあってしかるべきではないのか。

92 名前:デフォルトの名無しさん [04/10/16 15:03:40]
1は素数じゃないだろ?

93 名前:デフォルトの名無しさん mailto:sage [04/10/16 15:22:43]
普通はそうだわな

94 名前:デフォルトの名無しさん mailto:sage [04/10/16 16:00:13]
>92
1が素数でないことと、この数列から省略されることは関係ないだろ。
数列の値が「素因数分解して出てくる素因数の数」だとするなら
1には0という正当な解が存在している以上、
省略されているのは不当な難易度の上昇だと思うんだが。


95 名前:デフォルトの名無しさん mailto:sage [04/10/16 16:23:39]
くやしいのは分かったけど責任転嫁はほどほどにな

96 名前:デフォルトの名無しさん mailto:sage [04/10/16 16:43:18]
加藤先生なら頭に0がなくても瞬時に分かっただろう。
素数に馴染んでない普段の行いが悪いんだよ。多分。



97 名前:デフォルトの名無しさん mailto:sage [04/10/17 12:45:38]
素因数分解ってのは、手間がかかる割りに、人手を使ってやる意味のあまりない操作だし、
問題としていまいち面白みに欠ける。

98 名前:デフォルトの名無しさん mailto:sage [04/10/17 16:53:23]
すっぱい葡萄だな


99 名前:デフォルトの名無しさん [04/10/17 17:29:02]
おまいら命がけで数学やってるか?

100 名前:デフォルトの名無しさん mailto:sage [04/10/17 17:46:00]
健康の為なら死ねる

101 名前:デフォルトの名無しさん mailto:sage [04/10/17 17:48:37]
>>88 がかなりいい線行っている
フェルマーの大/小定理と素数と約数の数は全て関連がある


102 名前:デフォルトの名無しさん mailto:sage [04/10/23 11:02:44]
Newton法とか数値解析の基本的なアルゴリズムについてかかれている
お勧めの本はありますか?

103 名前:デフォルトの名無しさん [04/10/23 11:32:10]
sage で聞いても 皆見てないだろ。

しかしまあ、ニュートン法とかは大抵の入門書のレベルだと思うが

104 名前:デフォルトの名無しさん mailto:sage [04/10/23 12:45:46]
>>102
Cによる理工学問題の解法
薄いし、大きいし、見やすい。

105 名前:デフォルトの名無しさん mailto:sage [04/10/23 13:32:46]
>>104
www.amazon.co.jp/exec/obidos/ASIN/4526036323/
これですね。
他にも何かありましたら、推薦お願いします。(Fortran, Pascal などでかかれたものはパス)

106 名前:デフォルトの名無しさん [04/10/23 19:30:27]
横槍。
本じゃなくてウェブサイトがあれば教えてほしいです。
やっぱりただ読みが一番。



107 名前:デフォルトの名無しさん mailto:sage [04/10/23 19:32:15]
>105
Fortran も Pascal のも簡単だから覚えておいたほうがいいよ。
数値計算の本は Fortran で書かれているものが結構あるよ。

108 名前:デフォルトの名無しさん mailto:sage [04/10/23 19:32:36]
>>106
webサイトではあまり良いサイトはないな。
タダだと内容までチープだよ。

109 名前:デフォルトの名無しさん [04/10/27 03:56:32]
「ゲームで使える物理シミュレーション」
著者/訳者名 : 本田大地
出版社名 : 秀和システム
発売予定日 : 2004年06月下旬
サイズ : B5判・460頁
販売価格 : 4,410円(税込)
最新のゲームでは当たり前に使われるようになった、物理シミュレーションプログラミングの書籍。
ゲーム中のキャラクタや背景の動きを、物理的な法則に則って表現するためのプログラミング技法を解説する。
物理法則の基本から、プログラミング方法、更に実際にゲームで利用するための方法などを収録。
付属CDには物理シミュレーションプログラミングを利用したキャラクタを操作して動かせるデモなどを収録予定

これ、どーなったんだ???


110 名前:デフォルトの名無しさん mailto:sage [04/10/27 04:40:29]
>>109
それは糞本


111 名前:デフォルトの名無しさん [04/10/27 06:05:27]
人間ってないものねだりだからな
なんで喪前らが論理を求めるかってーと
喪前らの顔って黄金比率が狂っているからだろうな
つまり気持ち悪がられる

よって 友達いなーーーーーーーーーーーーーーい


そうだろ?wwwwwwwwwwwww
HA-HA-HA-HA-HA-HAWWWWWWWW

112 名前:デフォルトの名無しさん mailto:sage [04/10/27 06:32:36]
友達いないのは多分きみだけだと思う

113 名前:デフォルトの名無しさん mailto:sage [04/10/27 08:07:47]
>>112
俺もいない

114 名前:デフォルトの名無しさん mailto:sage [04/10/27 22:48:06]
早く人間になりたい

115 名前:デフォルトの名無しさん mailto:sage [04/10/28 06:05:26]
>>114
どうすれば人間になれるでしょうか?
数学的な対象を頭の中に構成する能力は
生まれたときに既に決まっているような気がします。

116 名前:マイク ◆yrBrqfF1Ew [04/11/01 15:14:30]
double i = std::sqrt(-1);

何故だめなんだ?



117 名前:デフォルトの名無しさん mailto:sage [04/11/01 15:19:25]
>>116
黙れ基地外

118 名前:デフォルトの名無しさん mailto:sage [04/11/01 20:22:43]
math::complex 使え


119 名前:デフォルトの名無しさん mailto:sage [04/11/03 16:03:32]
mother::complexも使え

120 名前:デフォルトの名無しさん mailto:sage [04/11/10 20:17:03]
差分法でもやってろってこったw

121 名前:デフォルトの名無しさん mailto:sage [04/11/13 22:01:47]
連立方程式反復法で解けないじゃん・・・orz
発散するか振動するかだ・・・・orz

122 名前:デフォルトの名無しさん [04/12/01 08:39:57]
どういう?

123 名前:デフォルトの名無しさん mailto:sage [04/12/01 13:04:24]
>>115
禿同。同じように語学や音楽の才能も生まれたときに決まってる気がする。
努力である程度まではカバーできてしまうところから多くの誤解が生まれるけど。

124 名前:デフォルトの名無しさん mailto:sage [04/12/01 13:34:55]
乳幼児期の脳が出来上がるまでの教育、環境も大きいと思う。

125 名前:デフォルトの名無しさん mailto:sage [04/12/02 01:14:58]
生まれたときに決まってる=生まれる前から決まってる=乳幼児期の教育、環境で努力しても手遅れ

ということが言いたいんだとESP。

才能があっても努力しなければ伸びないのは当然だから
乳幼児期の教育、環境が充実していることが前提での話であることは明らか。

126 名前:デフォルトの名無しさん mailto:sage [04/12/02 08:37:19]
つまりどんなに努力してもあなたはガウスにはなれませんよ、と。



127 名前:マイク ◆yrBrqfF1Ew mailto:sage [04/12/02 12:19:26]
ということはつまり俺はノイマンになれないがシャノンにはなれるということか。

128 名前:デフォルトの名無しさん mailto:sage [04/12/02 14:41:09]
9歳過ぎたらバイリンガルにはなれないとか、そういう話かね。

129 名前:デフォルトの名無しさん mailto:sage [04/12/05 11:03:18]
>>127
シャノンも厳しいと思いますが

130 名前:デフォルトの名無しさん mailto:sage [04/12/15 02:00:02]
だからといって精子にも戻れない

131 名前:デフォルトの名無しさん [04/12/28 16:54:57]
そろそろ、ご相談受付いたしましょうか?

132 名前:デフォルトの名無しさん [04/12/28 17:29:47]
プログラムを上手く書くための数学ってのもあると
思うけど、
こういうプログラム書いてるととか、こういう言語
使ってるとこれこれの分野の数学がわかるように
なりますよ、ってのはないのですか。
一番下の娘の大学受験が来月から始まるので。
もう手遅れか・・・。


133 名前:デフォルトの名無しさん mailto:sage [04/12/28 17:47:45]
>>132
マセマティカ買ってやれ。

134 名前:デフォルトの名無しさん mailto:sage [04/12/28 22:08:09]
>>100
AHAHAHAHAHA!!!!!!

135 名前:デフォルトの名無しさん mailto:sage [04/12/31 18:36:53]
>>132
BASIC(VBにあらず)を勉強するとセンター試験の数学で有利だ。
卑怯なくらい有利だ。

他に使途がない上にもう手遅れっぽいけどな。

136 名前:デフォルトの名無しさん mailto:sage [04/12/31 20:28:52]
>>135
BASICの問題は検算ができないからお勧めしないぞ。
確かに圧倒的に簡単なのは簡単なんだけど。



137 名前:デフォルトの名無しさん [05/01/01 23:42:57]
まぁだからって他の問題がむずかしいとかじゃないんだけどな

138 名前:デフォルトの名無しさん mailto:sage [05/01/04 14:32:46]
>>132
情報論とか
記号論理とか
数学基礎論とか
形式言語論とか
プログラムの意味論とか

プログラミング言語やってると
すんなり入りやすい(上におもしろい)
数学はいろいろあるが
どれもこれも大学入ってからの科目で
受験には役立ちそうもないな。


139 名前:デフォルトの名無しさん mailto:sage [05/01/04 18:30:13]
>>138
AO入試では役に立つかもよ。

140 名前:デフォルトの名無しさん [05/01/04 22:43:02]
質問いいでしょうか?
 デジタル信号処理関係の本を連続して読んでる(谷萩・辻井先生の本あたり)んだけど

線形予測分析付近から
R(0) R(1)とか、E[f(t)^2] とかがどの本見ても具体的説明が無く出て来て困惑しています。
R(i-j)=E[s(t-i)*s(t-j)] とあり、自己相関関数を表しているとありますので
この事からR(0)は  R(0) = Σs(t)^2   R(1) = Σ[s(t)*s(t-1)]付近なんだろなと思うのあけど

Q E[式] Eは期待値を意味しており・・・・という説明はあるのですが、具体的には
  平均か、Σとほぼ同じ意味だろうと想像してるのですが、どちらが正しいでしょうか?

どちらでもあっても、矛盾は無い感じは感じなんだけど・・・

141 名前:デフォルトの名無しさん mailto:sage [05/01/04 23:32:33]
>>140
普通は平均。
どっちでも単に定数倍になっただけだからあんまりその後読み進めていくうえで支障はなさそう。

142 名前:140 mailto:sage [05/01/05 07:20:06]
>>141 ありがとうございました

143 名前:デフォルトの名無しさん [05/01/31 22:46:49 ]
y=f(x)で実測して得られたx、yを元に最小二乗法でf内の係数を求めたいのですが
どうすればいいでしょうか?
一次関数の場合は公式を本で見つけましたが、それ以外についてはやり方が分かりません。
ごり押しの計算でもいいので求め方を教えてください。

144 名前:デフォルトの名無しさん mailto:sage [05/02/01 01:45:24 ]
>>143
漏れ、プログラマーでは無い(実験職)けど
方法は関数電卓のマニュアルに載ってるよ。
対数関数や指数関数くらいは。

もっと詳しく知りたければ大学理系学部レベルの数理統計学の教科書や線形代数学、物理学大辞典でも調べなさい。
非線形関数の取扱いとかも乗ってますよ。

145 名前:デフォルトの名無しさん mailto:sage [05/02/01 07:44:28 ]
最小2乗だから R=Σy^2を最小にするわけ

有限範囲に最小点があるなら、微分するとゼロにる点のどれかが最小だから
R'(各パラメータ群)=0

これを満たす各パラメータから、Rを計算して実際に最小の点になる点を探す


146 名前:デフォルトの名無しさん [05/02/01 08:29:26 ]
(x_i, y_i)に対して適当な関数y=f(x)を仮定してR=Σ(y_i-f(x_i))^2を最小にするんでしょ。



147 名前:デフォルトの名無しさん mailto:sage [05/02/01 08:54:43 ]
微分を使え!

148 名前:デフォルトの名無しさん mailto:sage [05/02/01 09:25:02 ]
ふつう偏微分しる

149 名前:デフォルトの名無しさん mailto:sage [05/02/01 09:33:47 ]
>>143
ttp://www.eli.hokkai-s-u.ac.jp/~kikuchi/ma2/chap08.html
ttp://aoki2.si.gunma-u.ac.jp/LaTeX/nonlinear.pdf

納得いかないときはここ嫁
ttp://aoki2.si.gunma-u.ac.jp/lecture/mb-arc/arc015/399.html


150 名前:デフォルトの名無しさん mailto:sage [05/02/03 18:44:36 ]
f(x)をa0 + a1 * x + a2 * x^2 + a3 * x^3 + ... + an * x^n で表せるn次式で近似するとする
サンプル点は、x0, x1, x2, ... xm のm+1点あり、m≧nとする
近似すべき式は、以下の行列式になる

 ( 1 x0 x0^2 x0^3 ... x0^n ) ( a0 )  ( f(x0) )
 ( 1 x1 x1^2 x1^3 ... x1^n ) ( a1 )  ( f(x1) )
 ( 1 x2 x2^2 x2^3 ... x2^n ) ( a2 ) = ( f(x2) )
 ( 1 x3 x3^2 x3^3 ... x3^n ) ( a3 )  ( f(x3) )
 (      |      ) ( | )  (  | )
 ( 1 xm xm^2 xm^3 ... xm^n ) ( an )  ( f(xm) )

上の式の行列を前から順に、A X Yとおくと

 X A = Y

Xの転置行列をtXとすると

tX X A = tX Y

tX X は正方行列なので、通常は逆行列が存在するそれをinv(tX X)とおくと

inv(tX X) tX X A = inv(tX X) tX Y
 ↓
A = inv(tX X) tX Y

Aがわかれば、多項式の係数がわかるので、近似式がわかる
とまあ、こんな感じだったと思うぞ

151 名前:デフォルトの名無しさん mailto:sage [05/02/03 18:46:45 ]
式が見づらいね

 ( 1 x0 x0^2 x0^3 ... x0^n ) ( a0 )  ( f(x0) )
 ( 1 x1 x1^2 x1^3 ... x1^n ) ( a1 )  ( f(x1) )
 ( 1 x2 x2^2 x2^3 ... x2^n ) ( a2 ) = ( f(x2) )
 ( 1 x3 x3^2 x3^3 ... x3^n ) ( a3 )  ( f(x3) )
 (       |        ) ( | ) (  | )
 ( 1 xm xm^2 xm^3 ... xm^n ) ( an ) ( f(xm) )



152 名前:デフォルトの名無しさん mailto:sage [05/02/04 00:32:11 ]
最小2乗法?
特殊な場合を除いて特異値分解して解く
つーかNumerical Recipes嫁 載ってるコードは糞らしいが

153 名前:デフォルトの名無しさん [05/02/14 18:56:31 ]
C言語でのはさみうち法のプログラムを教えてください。

154 名前:デフォルトの名無しさん mailto:sage [05/02/14 18:57:33 ]
>>153
マルチポストには教えられません。

155 名前:デフォルトの名無しさん [05/03/18 00:31:28 ]
漸化式についてアホでもわかるよう教えてけれ

156 名前:デフォルトの名無しさん mailto:sage [05/03/18 00:34:15 ]
アホに説明すると、1から120まで延々と教えなければならなくなるので面倒だ



157 名前:デフォルトの名無しさん [05/03/18 00:47:02 ]
数学ができる人、なにかコツとかあるんですかっっ?!!!!!!!
n + 1 のべき乗とか文字みるとクラクラしてくるんです!!

158 名前:デフォルトの名無しさん mailto:sage [05/03/18 00:51:53 ]
>>157
数学ができなくても生きていけるよ。
馬鹿は無理をせずに馬鹿を貫け。

159 名前:デフォルトの名無しさん mailto:sage [05/03/18 00:57:56 ]
なるぽ。

160 名前:デフォルトの名無しさん mailto:sage [05/03/18 04:16:18 ]
。ぽるな

161 名前:デフォルトの名無しさん mailto:sage [05/03/19 12:18:57 ]
>>155
ぐぐれ。

162 名前:デフォルトの名無しさん mailto:sage [05/03/20 18:57:43 ]
教科書見れば早いのに。

163 名前:デフォルトの名無しさん [2005/03/25(金) 09:25:38 ]
おまえ氏ねよぼけ

164 名前:デフォルトの名無しさん mailto:sage [2005/03/28(月) 06:03:35 ]
数学はこつこつやってるんだが
俺の脳のスタックが足りねえこと痛感よ

165 名前:デフォルトの名無しさん [2005/03/31(木) 08:56:58 ]
最近でた、結城の本買った奴いる?

166 名前:デフォルトの名無しさん mailto:sage [2005/04/11(月) 19:27:12 ]
atan2って、atanが有るから要らないように思うのですが?
どうなんでしょう



167 名前:デフォルトの名無しさん [2005/04/11(月) 19:34:52 ]
xがゼロかどうかを気にしなくて済む。
sage

168 名前:デフォルトの名無しさん mailto:sage [2005/04/11(月) 19:35:26 ]
ええけつしとるのぉ(*´Д`)ハァハァ
133.86.144.64/
133.86.144.64/~ss.jpg
dawn3/
dawn3/~ss.jpg


169 名前:デフォルトの名無しさん mailto:sage [2005/04/11(月) 19:36:20 ]
sageと書こうとしたらフォーカスが変なとこにあったorz



170 名前:デフォルトの名無しさん mailto:sage [2005/04/11(月) 20:45:27 ]
数学のatanこそ廃止して atan2 の形式で統一したほうがいい気がする。
atanの定義はイクナイ

171 名前:デフォルトの名無しさん mailto:sage [2005/04/12(火) 05:18:26 ]
atan(y / x)とatan(-y / -x)が同じになっちゃうからなあ

172 名前:デフォルトの名無しさん mailto:sage [2005/04/12(火) 11:00:18 ]
>>170
C言語のライブラリに atan は要らないってことよね?
それなら禿同。

173 名前:デフォルトの名無しさん mailto:sage [2005/04/12(火) 19:00:03 ]
算数は三桁の暗算できないくらいだがプログラムはバリバリですが何か?

174 名前:デフォルトの名無しさん mailto:sage [2005/04/12(火) 22:03:00 ]
>>173
まあ、それは俺も。
っていうかね、紙の上で微分方程式解いたりするよりも暗算の方が苦手。

175 名前:デフォルトの名無しさん mailto:sage [2005/04/12(火) 22:54:07 ]
>>173-174
もまえらこれやってみろ。安産力付くぞ
ttp://r_akky.at.infoseek.co.jp/mental.html

漏れは10000越えると死ぬ

176 名前:デフォルトの名無しさん mailto:sage [2005/04/14(木) 13:33:16 ]
質問なんですが、あるグラフが木であることを判定する方法として
全頂点の入次数が1以下であることを確認するよりも効率的な方法はありますか?



177 名前:デフォルトの名無しさん mailto:sage [2005/04/14(木) 15:32:31 ]
>全頂点の入次数が1以下であること
の意味が判らないけど、これで十分条件になるの?
A→B, B→C, C→A みたいな循環構造が木と判定されない?

178 名前:デフォルトの名無しさん [2005/04/27(水) 19:42:54 ]
おい、wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
なんか言えよ雑魚


179 名前:デフォルトの名無しさん mailto:sage [2005/04/28(木) 01:01:10 ]
>>178




180 名前:デフォルトの名無しさん [2005/04/28(木) 03:17:27 ]
たぶん誰もわからないだろうけど、ツェラーの公式で
なぜ曜日が求まるのか、詳しく教えていただけませんか・・・?

181 名前:デフォルトの名無しさん mailto:sage [2005/04/28(木) 03:25:56 ]
わざわざ回答をしてくれる人を遠ざけるような枕をつける理由がわからない。
とりあえずぐぐってみて一番正確かつ詳しく説明してそうなページを探し、
その上でどこがわからないかを文章にしてみたら?


182 名前:デフォルトの名無しさん mailto:sage [2005/04/28(木) 05:14:03 ]
これでも買っとけ
www.amazon.co.jp/exec/obidos/ASIN/4797329734/ref=ase_2217800-22/249-3298830-5914740

183 名前:デフォルトの名無しさん mailto:sage [2005/04/28(木) 06:53:53 ]
曜日を求めるには、グレゴリウス暦の初日から何日たったかを求めてそれを7で割った余りで一意に決まる
ただし、7で割った余りのみが問題になるので、何日たったかを正確に求める必要は無く
7の倍数だけずれた日数を求められれば、それを7で割った余りで曜日を求めるには十分である

一年は365日なので、うるう年を無視するとn年間で日数は 365 * n 日

しかし途中にうるう年が入るとややこしくなる、うるう年で増える一日を
一年の最後に持っていくと都合がいい
そうしないと、うるう年となる年の曜日を求める際に、年の途中ではいる2月29日以降は
一日だけ日数を増やす必要がでてくる
したがって、1月は前年の13月、2月は前年の14月として扱う

この変形グレゴリウス暦の西暦0年3月1日からY年間で何日になるかは、
うるう年を考慮に入れて、以下のようになる

365 * Y + [Y / 4] - [Y / 100] + [Y / 400]
= 364 * Y + Y + [Y / 4] - [Y / 100] + [Y / 400]

曜日を考える分には7の倍数は無視できる
364 * Y = 7 * 52 * Yで、7の倍数だから無視すると

Y + [Y / 4] - [Y / 100] + [Y / 400]

184 名前:デフォルトの名無しさん mailto:sage [2005/04/28(木) 06:55:03 ]
Y をツェラーの公式流に 100 * c + y (0 <= y < 100) と置くと

100 * c + y + [(100 * c + y) / 4] - [(100 * c + y) / 100] + [(100 * c + y) / 400]
= 100 * c + y + 100/4 * c + [y / 4] - 100/100 * c - [y / 100] + [100/400 * c + y / 400]
= (100 + 25 - 1) * c + y + [y / 4] - [y / 100] + [c / 4 + y / 400]

ここで、0 <= y < 100より、[y / 100] = 0, [c / 4 + y / 400] = [c / 4]なので

= 124 * c + [c / 4] + y + [y / 4]
= 119 * c + 5 * c + [c / 4] + y + [y / 4]

119 * c = 7 * 17 * cで、7の倍数なので無視して

5 * c + [c / 4] + y + [y / 4]
= [21/4 * c] + [5/4 * y]

[21/4 * c] + [5/4 * y]を西暦2005年3月1日(火曜日)について計算すると、111で
111を7で割った余りは、6だから、6が火曜日となる
ツェラーの公式に合わせて6が土曜日になるには、3を足せばよい

[21/4 * c] + [5/4 * y] + 3

これを、7で割った余りから、各年の3月1日の曜日は求められる

185 名前:デフォルトの名無しさん mailto:sage [2005/04/28(木) 06:55:56 ]
ここからさらに、4月以降の1日(ついたち)の曜日について考える
m月1日(3 <= m <= 14)が3月1日から何日たっているかを求めればよい
その日数を f(m) であらわすとすると
[21/4 * c] + [5/4 * y] + 3 + f(m) を求め、それを7で割った余りから各月の一日の曜日は求められる
なお、うるう年に増える一日は年の最後の日であるので、f(m) の値ははうるう年の影響を受けない

f(3) = 0 は自明、3月は31日あるので、f(4) = f(3) + 31 = 31 だが
例によって7の倍数分は無視しても曜日には影響は無いので28引いて、f(4) = 3 としても差し支えない
つまり、f(m) を求めるに際しては、3月は3日しかないと考えても結果は変わらない

この考えに従って、各月の日数を3月から順に列挙すると
3, 2, 3, 2, 3, 3, 2, 3, 2, 3, 3, 0 or 1となる
1日(ついたち)の曜日を考える上では最後の月である14月が何日であるかは影響が無い
したがってこの数列は 3, 2, 3, 2, 3, 3, 2, 3, 2, 3, 3 と考えてよい
これをよく見ると、3,2,3,2,3というパターンの単純な繰り返しとなっている
このことから、5ヶ月は13日(3+2+3+2+3=13)であると考えることができるのである

したがってこのことから、f(m) は、[13/5 * m]に定数項を足したもので表現できそうである
[13/5 * m]の値を m = 3 から m = 14 について列挙してみよう

7, 10, 13, 15, 18, 20, 23, 26, 28, 31, 33, 36

この数列の隣同士の値の差が各月の日数と合致していればよい
実際に求めると 3, 3, 2, 3, 2, 3, 3, 2, 3, 2, 3
これは、上述の数列とよく似ているが一つ横にずれている(残念)

186 名前:デフォルトの名無しさん mailto:sage [2005/04/28(木) 06:57:32 ]
一つずらすために、m の代わりに m + 1 を使ってみたらどうか?
[13/5 * m]ではなく[13/5 * (m + 1)]の値を m = 3 から m = 14 について列挙してみよう
まあこれは、再計算する必要も無く、さっきの数列が左に一つずれただけだ

10, 13, 15, 18, 20, 23, 26, 28, 31, 33, 36, 39

この数列の隣同士の値の差は、やはり左に一つずれて
3, 2, 3, 2, 3, 3, 2, 3, 2, 3, 3となり、これで目的の数列と一致する
つまり、 f(m) は、[13/5 * (m + 1)]に定数項を足したもので表現できる

ここで[13/5 * (m + 1)]の値を m = 3 で求めると、[13/5 * 4] = 10
7の倍数は無視できるので、この値は 3 と同じとみなせる
これは目的の値 f(3) = 0 より 3 多い
したがって f(m) = [13/5 * (m + 1] - 3 となる

各月の1日(ついたち)の曜日は
[21/4 * c] + [5/4 * y] + 3 + f(m)
= [21/4 * c] + [5/4 * y] + [13/5 * (m + 1]

を7で割った余りから求められる

2日(ふつか)以降の曜日については、一日ごとに曜日が一個ずれるから
m月d日について求めるときは、上式に d - 1 を加えればよい

[21/4 * c] + [5/4 * y] + [13/5 * (m + 1] + d - 1

この値を7で割った余りが、100 * c + y年m月d日の曜日となる



187 名前:デフォルトの名無しさん mailto:sage [2005/04/28(木) 06:58:30 ]
いい時間つぶしになってしまった
しかしこれであってるのだろうか?

188 名前:マイク ◆yrBrqfF1Ew mailto:sage [2005/04/28(木) 15:56:08 ]
MITも楽勝そうなこのスレの神々しい方々に質問ですぅ
nが自然数でn^2+1が素数になる数がいくつあるのか中卒の僕に優しく教えてくださいペコリー






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<259KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef