2021年3月11日 千葉県公立高校入試問題【数学編続き】

 数学の三つ目の難しい問題は、大問5の(3)です(下図参照)。
 問題を文字式で表現し、それを解くことを求めている。
 m段目の最小の数がB列にあるとき、調べてみるとその数は13、29、45、61、…と続くので、13+16(k-1)と表される(1≦k≦4)。
 n段目に2番目に大きい数がB列にあるとき、調べてみるとその数は、7、23、39、55、…と続くので、7+16(h-1)と表される(1≦h≦5)。
 2数の和を計算すると、16(k+h)-12となる。
 これを変形すると、4×4(k+h)-12。
 つまり(k+h)が3の倍数であればこの数全体は12の倍数となる。
 (k+h)は、2以上、9以下の範囲の数である。
 (k+h)が3、6、9のいずれかになる組み合わせを調べる。
 k=1のとき、h=2、5
 k=2のとき、h=1、4
 k=3のとき、h=3
 k=4のとき、h=2、5
 以上を数えることにより、m、nの組み合わせの数は7とおりになることが分かる。
 短い時間の中で以上の調べを行うのは、中々難しいと思われる。

2021年3月10日 公立高校入試問題【数学編続き】

 数学の二つ目の難しい問題は、大問4の(2)。
 (1)で△ACDと△OBDが相似であることを証明し、それを使って線分BDの長さを求める。
 相似の関係であるからAC:CD=OB:BDであり、AC、CD、OBの長さが分かれば求めるBDの長さが分かる。
 まず、ACであるが、△ACBが∠ACBを直角とする直角三角形であるから、三平方の定理を使って計算することができる(AB=4、CB=3となっている)。
 次に、CDであるが、これをどのようにして計算するかがこの問題を解く鍵となる。
 CDを求めるには、直線DOを伸ばし、ACとの交点をFとすると、△CDFは、∠CFDを直角とする直角三角形である。
 その辺FCの長さはACの二分の1である。辺DFの長さは、どのようにもとめるか。DFは、DO(半径=2)とOFの合計である。OFは、△ACBと△AFOが相似であり、相似比が2:1であることから、CB(=3)の2分の1の長さとなる。辺FCと辺DFの長さが分かったので、三平方の定理によりCDの長さを求めることができる。
 OBは、半径であり、長さは2である。
 後は冒頭に説明したとおり、相似比を基に方程式をつくり、BDを求めることができる。
 相似比と三平方の定理を適切に使うことができるかどうかがこの問題の難しさである。

2021年3月8日 公立高校入試問題【数学編】

 2021年度千葉県公立高校入試問題をチェックしています。
 まず、数学の問題を一通り解いてみたところ、難問が三つあると思いました。
 一つ目が大問3の(2)②(下の図参照)、二つ目が大問4の(2)、三つ目が大問5の(3)。
 ここでは、一つ目の問題を取り上げます。

 二次関数のグラフと直線がつくる図形の面積を求める問題です。
 グラフがつくる図形の面積を求める問題は毎年出題されているようです。
 図形の面積を求めるための定番の解法は、求める平行四辺形の底辺や高さを直接求めるのはやっかいなので、この問題で言えば、平行四辺形を含む大きな三角形の面積を計算し、そこから小さな三角形や台形を切り取りながら(面積を計算しながら)、求める平行四辺形の面積を計算します。
 考え方はシンプルで、点Dの座標を例えば(p,q)と置いて方程式をつくればよいのですが、この問題については、方程式を解くプロセスでの計算量がなかなか多く、正確に計算して答えを出すのが大変だと思います。
 計算に結構な時間がかかります。その意味で難問です。
 ちなみに答えは、-3/2と-11/2です。

2020年8月15日 野ユリ咲く

 山王ニュータウンのあちらこちらに野ユリの花が見られるようになりました。
 散歩をしていると、白く、細長い形状の野ユリが小学校の植え込み、電柱が立っているわずかなスペースなどにおいて、ここ1週間ほどで急に目立つようになりました。
 
 これほど一斉に咲くのは、同じ系統、ひょっとしたら、どれも同じ親から生まれたものかもしれません。
 野ユリの生命力も相当に強いと思います。

山王小学校の植え込みです
細長く白い花、気品を感じさせます

2020年7月26日 C言語とC++言語のプログラム比較

 100万までの数について、10万ごとに区切って素数の数を調べるプログラムをまずC言語で作成。次に、そのプログラムをC++言語に移植した。
 C言語からC++言語への移植に当たって、コードを書き直す必要はあまりなかった。書き直したのは、画面への入出力の箇所ぐらい。C++言語で新たに設けられたクラスを使う必要がないプログラムであったため、C言語のコードのままでc++言語でも通用した。
 プログラムの処理時間は、C言語版が14.971342秒、c++言語版が14.9419秒とほぼ同じ。c言語で書いたプログラムの方が処理速度は速いと思っていたので、これは少し意外であった。
 今後プログラムを作成するときに、少しでも処理速度が速い言語を選択しようと考えていたため、C言語がよいと思っていたが、考えさせられてしまった。

2020年6月19日 素数の分布について

 素数を調べるプログラムを改良し、素数がどのように分布しているのかを調べるプログラムを作成した。
 1,000万以下の数について、10万ごとの区切り単位で、素数が何個含まれるかを調べた。
 以下は、その結果の一部である。

 (区切りの範囲) (範囲に含まれる素数の数)
 1   - 100,000 : 9,592
 100,001 – 200,000 : 8,392
 200,001 – 300,000 : 8,013
 300,001 – 400,000 : 7,863
 400,001 – 500,000 : 7,678
 500,001 – 600,000 : 7,560
 600,001 – 700,000 : 7,445
 700,001 – 800,000 : 7,408
 800,001 – 900,000 : 7,323
 900,001 – 1,000,000 : 7,224
 1,000,001 – 1,100,000 : 7,216
 1,100,001 – 1,200,000 : 7,224
 (以下略)

 最初の10万の範囲には、9,592個の素数が現れた。
 その後10万ずつの区切りで見ると徐々に減っていく。
 しかし、減り続けるわけではなく、110万〜120万の区切りでは増えている。
 減り方もまちまちで、素数の現れ方に一定の法則性があるわけでないようだ。
 調べる区切りの数が大きな数字になるにつれ、その中に含まれる素数の数が減っていく傾向は見受けられる。
 ちなみに、990万〜1,000万の区間では6,134個となっている。
 素数については、分からないことが多い。

2020年6月12日 ウグイスの声

 朝の散歩でウグイスの声を耳にした。
 ウグイスは、ここ山王ニュータウンでは4月の初め頃から聞かれるようになる。
 ウグイスは、春先から少しずつ鳴くのが上手になるという。
 手持ちのICレコーダーで録音した。
 鳴き声はどうだろうか。心なしか滑らかな鳴き声となっているような気がする。

2020年6月9日 コンピュータの計算力

 現役時代、事務処理機械化準備室に配置され、見様見真似でCOBOL言語に触れた経験があった。その頃から、コンピュータ言語に関心を持ち始めた。
 最近、ようやく少し余裕ができたので、素数を計算するプログラムにチャレンジすることとした。
 最初に選んだ言語はC言語。参考書、ネットで分からない点を調べながら、なんとか組み上げた。
 素数は、1と自分自身でしか割り切れない数。
 2から始まり、3、5、7、…と現れるが、プログラムでちょうど10万個目にどのような数字が現れるかを計算した。
 答えは、1,299,709、計算時間は29秒。
 これを人力でやろうとすると一生かかってもできないかもしれない。
 コンピュータの計算力を思い知らされた。