数学検定の5級、準2級の合格を目指している人のために練習アプリを作りました。
しっかり練習して合格することを祈っています。
カテゴリー: 数学検定

しらみつぶし法で求めましょう。
4つを選ぶすべてのパターンを生成してPを求めて奇数だったら表示します。
For 1→A To 3
For A+1→B To 4
For B+1→C To 5
For C+1→D To 6
A×B×C+A×B×D+A×C×D+B×C×D→P
If Frac(P÷2)=0.5:Then P◢
IfEnd
Next:Next:Next:Next:Cls
このプログラムを実行すると61, 107,153が表示されます。
数学検定準2級問題-4

分かりにくい問題です。2倍して10以上になるのは5,6,7,8,9です。5,6,8のパターンが分かっているので、残りの1→・・・・7→1となるパターンと1→・・・・9→1となるパターンを探せばよいことが分かります。
2→S
1→Y
Lbl 1:S×2→S
Int(S÷10^(Int(log(S)))→X
Y×10+X→Y
If X=1:Then 1→Y
IfEnd
If X=7:Then Y×10+1:Stop:IfEnd
Goto 1
X=7のとき1371、X=9のとき12491が求められる。
数学検定準2級過去問題-3

A,B~hを正方形の各辺の長さとすると8個の方程式ができるので8元連立方程式を解けば求められます。しかし、電卓は5元の連立方程式しか解けないので工夫しなければ解けません。
そこで作戦を変更します。fの長さが分かればg,e,d,hの値が分かります。またAの長さが分かればC,Bの値が求められます。
長方形の向かい合う辺の長さは等しいので方程式が2つ作れます。これで2元の連立方程式になります。
長方形の左辺=右辺より
c+B=e+g+h・・・・・・①
上辺=下辺より
c+d+e=B+h・・・・・・②
g=f+1,e=f+2,d=f+3,c=d+A=f+A+3,
B=c+A=f+2A+3,h=f+g=2f+1
これらの式を①、②に代入します。
2f+3A+6 = 4f+4・・・・①’
3f+A+8 =3f+2A+4・・・②’
ここまで解くと電卓を使わなくても簡単に解けるのでちょっとがっかり。
別解 図を見てとりあえずA=4,f=7と仮定する。
するとe=9,d=10,c=14となり長方形の横の長さが33となる。
B=18なのでh=15である。
左辺の長さはc+B=32, 右辺の長さはe+g+h=32となり仮定は正しい。
仮定が違うと左辺≠右辺となる。
数学検定準2級問題-2
A,B,Cを1以上9以下の整数とします。
A+2=B+1=C
を満たし、かつ差ACAC-AcがBBの10倍に等しくなるようなA,B,Cの組が1つだけ存在します。その組を求めなさい。
これもしらみつぶし法で求めましょう。
For 1→A To 7
A+1→B:B+1→C
If A×1010+C×101ーA^(C)=B×110
Then A×100+B×10+C:Stop
IfEnd
Next
実行すると一瞬で答えが456と表示されます。
A=4, B=5, C=6が解答です。
数検準2級の過去問題を関数電卓fx-5800Pを使って解いたものを紹介する。過去問題はこの問題集を参考にした。

過去4年間の問題が掲載されている。数学検定は実用数学技能検定(後援=文部科学省)
1次、2次の試験があり、2次試験には電卓が使える。
関数電卓、グラフ電卓も使える。
準2級の2次試験は電卓を活用すれば簡単に解ける問題が多いので使い方を紹介しようと思う。
準2級2次:数理技能検定 第2回
【7】次の問に答えなさい。
縦の長さ、横の長さ、高さがすべて正の整数値をとる直方体があります。縦、横、高さの和(3辺の長さの和)が19,体積が240のとき、この直方体の表面積を求めなさい。
この問題は答えだけを書いてください。 (整理技能)
この問題をプログラムで解きましょう。プログラムを作ったことがある人は定番の問題だと思うでしょう。すべての正の整数の組み合わせを生成してその中から条件に合うものを選び出すだけです。しらみつぶし法と呼ばれます。
辺の長さをX, Y, Zとしましょう。
FOR 1→X TO 19
FOR 1→Y TO 19
FOR 1→Z TO 19
IF X+Y+Z=19 And X×Y×Z=240
Then 2×(X×Y+Y×Z+Z×Y):Stop:IfEnd
Next:Next:Next
これを実行すれば答えが表示されます。ただ、この電卓は処理速度が遅いのでプログラムを改良して高速化しましょう。
X≦Y≦ZとすればYとZは1から始める必要はありません。
また、各辺の長さは1以上なので19まで調べなくても17までで良いことが分かります。改良したプログラムは次のようになります。
FOR 1→X TO 17
FOR X→Y TO 17
FOR Y→Z TO 17
IF X+Y+Z=19 And X×Y×Z=240
Then 2×(X×Y+Y×Z+Z×Y):Stop:IfEnd
Next:Next:Next
40秒ぐらい待てば答え 236 が表示されます。