問題
0 以上の整数 a , b , c , d の組
2^a*3^b+2^c*3^d=2022
2**a+3**b+2**c+3**d=2022
大学入試数学問題集成>
解答
一橋の問題は素直であるが、誘導も少なく、難易度は高い。 < 河合塾分析より
難易度標準で解答2頁でした。
整数問題の基本事項...地道な作業が必要なところもあります。 < わか様より
エクセルvbaで
あっという間に結果がでました。エクセルすごいですね。
素数も考えなくて、いいですね。(20220425)
'nMax = 2022
'実行時エラー '6':
'オーバーフローしました。
Sub aaa_main()
nMax = Int(Log(2022) / Log(2)) + 1
ActiveSheet.Cells.Clear
MsgBox "実行を開始します"
iR = 0
For i = 0 To nMax
For j = 0 To nMax
For k = 0 To nMax
For l = 0 To nMax
If 2 ^ i * 3 ^ j + 2 ^ k * 3 ^ l = 2022 Then
iR = iR + 1
Cells(iR, 1) = i
Cells(iR, 2) = j
Cells(iR, 3) = k
Cells(iR, 4) = l
End If
Next
Next
Next
Next
End Sub
'1 5 9 1
'9 1 1 5
SymPy Liveで(Pycharmでも)
以下サイトに、ソースコードを貼り付けて、Evaluateです。
from sympy import *
# nMax=2022 恐ろしくて、途中であきらめました。どなたか時間を計ってみてください。
nMax=int(log(2022)/log(2))+1
for i in range(nMax):
for j in range(nMax):
for k in range(nMax):
for l in range(nMax):
if 2**i*3**j+2**k*3**l==2022:
print("#",i,j,k,l)
# 1 5 9 1
# 9 1 1 5
ついでに(失礼な!!) wolframalphaも
興味のある方は、どうぞ。
何かあるのでしょうね。奥が深そうです。解説してもらうと助かります。
感想
先に解答の一番下を見て、出力とあっていたのでほっとしました。
やってて、ワンパターン化してきました。
excelのある時代に、整数解の問題はたいへんですね。何とかならないものですか?
選抜試験ですから。