平成11年7月12日
[流れ星]第22回
数学的な応募問題<解答募集期間:7月12日〜7月24日>
[三角数は平方数?]
太郎さんは、高校でパスカルの三角形の美しさを教えています。そこで、問題です
<浜田 明巳>さんからの解答7月15日受信
Weekend Mathematicsにおいて,数列的な解法が紹介されておりましたので,違った方向からアプローチしてみました.と言っても,いつものパソコンのプログラムによるものですが・・・。今回はEXCELのマクロで作ってみました.
問題1について.1≦y≦20000(=max)のyにおいて,2y^2+1を計算し,それが平方数であるものを探せばよいわけです.
問題2について.1辺の長さがnの正三角形のおはじきの個数は0.5n(n+1),1辺の長さがmの正方形のおはじきの個数はm^2です.
故に2≦n≦5000(=max)のnにおけるおはじきの個数の中で,平方数であるものを探せばよいわけです.
これらのプログラムによると,
問題1:(x,y)=(3,2),(17,12),(99,70),(507,408),
(3363,2378),(19601,13860)
問題2:36,1225,41616,1413721
となります.
Sub 問題1()
Dim max, x, y As Long: max = 20000
Range("A1").Select
For y = 1 To max: x = Sqr(2 * y * y + 1)
If Int(x) = x Then
ActiveCell.FormulaR1C1 = x
SendKeys "{right}", True
ActiveCell.FormulaR1C1 = y
SendKeys "{down}", True
SendKeys "{left}", True
End If
Next
End Sub
Sub 問題2()
Dim m, n, ohajiki, max As Long: max = 5000
Range("A1").Select
For n = 2 To max: ohajiki = 0.5 * n * (n + 1)
m = Sqr(ohajiki)
If Int(m) = m Then
ActiveCell.FormulaR1C1 = ohajiki
SendKeys "{down}", True
SendKeys "{left}", True
End If
Next
End Sub