ということでインド式算数三日目です。
35×75とか、64×44とか場面は限定されるんですけど、もしこのパターンが出たらやはり瞬殺という場合ですね。
①十の桁同士をかけてそこに一の桁の値を足す。これが左の数。
②一の桁同士を掛ける。これが右の数。
なので35×75であれば3×7+5=26、右は5×5=25
よって2625となるというわけですね。
64×44であれば2816だろうなとざっと計算できますね。
で、これを延々と練習できるコードがこちらになります。
import random
num1 = random.randint(1,9)
num2 = 10-num1
num3 = random.randint(1,9)
print(num1,num2,num3)
hoge = 10*num1 + 1*num3
hage = 10*num2 + 1*num3
print(hoge)
print(hage)
print(hoge, "*", hage)
print('①10の位×10の位+1の位②一の位同士をかける')
hege = hoge * hage
print(hoge * hage)
while True:
e =int(input('>> '))
if e == hege:
print('正解!天才!!素晴らしい!')
break
else:
print('やり直し')
continue
num1 = random.randint(1,9)
num2 = 10-num1
num3 = random.randint(1,9)
print(num1,num2,num3)
hoge = 10*num1 + 1*num3
hage = 10*num2 + 1*num3
print(hoge)
print(hage)
print(hoge, "*", hage)
print('①10の位×10の位+1の位②一の位同士をかける')
hege = hoge * hage
print(hoge * hage)
while True:
e =int(input('>> '))
if e == hege:
print('正解!天才!!素晴らしい!')
break
else:
print('やり直し')
continue
ということでこれを貼れば後は延々出してくれるだけ、となるにはなると思いますが、ただ問題があってPythonで一番苦労したのはきちんと動作してくれる環境構築なんですよね。基本のその環境がパッとできれば誰だってやってますよと(笑)それができれば誰も苦労しないよ(笑)ということなので今後はそういうPythonの環境構築についてもボチボチなんか言えればなあと思ってます。
もっと早く言えよ、もっと先にそういう基本は言うべきでは? と言われそうですが(笑)、まあそういう基本を作りたいなと思う気持ちを先に作りたいなと思ってましたので。
ああこれを見たからってインド式算数やりたいなとどれだけ思うかってのはかなり微妙な気もしますが(笑)
まあ勝手に機は熟せりと思ったということで次回あたりからそっちの方もボチボチ話していけたらと思ってます。
この記事へのコメント