Python×インド式算数⑦1000付近同士の計算





 昨日のヤツの発展ですね。
 100同士だったら、-あるいは+いくらってのを右側に書き出して縦に計算してしまうというわけですね。
 1000付近でも同じになります。
 997×994であれば、
 1000-3と1000-6なのでこれを右に書き出します。
 997 -3
 994 -6
ーーーーー
 右側は-3×(-6)=18です。これを018とします。
 で斜めに計算すると997+(-6)=991
 なので991018となります。

 片方が1000-3とかだと斜めの計算が助かりますよね。
 なので998×289とかでもできますね。
 998 -2
 289 -711
ーーーーーー

 こうしてみると縦の計算は1422です。
 斜めについては289+(-2)=287となります。
 答えとしては288422となりますね。


 ・3桁×3桁だと3+3で答えは6マス分になるのかなと思いましたが、100×100だと10000(5桁)なので一概にそうは言えないようです。
 基準となるのは1000に近いかどうかというこの1000という数字になるようですね。
 今回は1000が基準となるので答えの桁に000の3桁が入るためにこういう形になるということのようです。


 ということでこの900いくら×900いくら、つまり1000-いくらっていうのと。
 1000+いくら×1000×いくらで1000+いくらなのかというのを計算するコードを書いておきますので、よかったらまた練習してみてください。

 ・900いくら同士の計算
 
import random
num1 = 9
num2 = random.randint(1,9)
num3 = random.randint(1,9)
print(num1,num2)
hoge =100*num1 +10* num1 + 1*num2
hage =100*num1 +10* num1 + 1*num3
print(hoge)
print(hage)
print(hoge, "*", hage)
print('①1000-いくらなのかを右に二つ書く②右×右が右の数字、斜めに左+右が左の数字')
print(hoge,-(1000-hoge))
print(hage,-(1000-hage))
hege = hoge * hage
print(hege)
print('答えは?')
while True:
  e =int(input('>>'))
  if e == hege:
    print('正解!天才!!素晴らしい!')
    break
  else:
    print('やり直し')
    continue


 ・1000同士の計算
 
import random
num1 = 9
num2 = random.randint(1,9)
num3 = random.randint(7,8)
num4 = random.randint(1,9)
num5 = random.randint(1,9)
print(num1,num2,num3,num4,num5)
hoge =100*num1 +10* num1 + 1*num2
hage =100*num3 +10* num4 + 1*num5
print(hoge)
print(hage)
print(hoge, "*", hage)
print('①1000-いくらなのかを右に二つ書く②右×右が右の数字、斜めに左+右が左の数字')
print(hoge,-(1000-hoge))
print(hage,-(1000-hage))
hege = hoge * hage
print(hege)
print('答えは?')
while True:
  e =int(input('>>'))
  if e == hege:
    print('正解!天才!!素晴らしい!')
    break
  else:
    print('やり直し')
    continue


この記事へのコメント

にほんブログ村 ゲームブログ ゲーム評論・レビューへ
にほんブログ村