機械系エンジニアの備忘録

20代独身社会人。仕事では機械・機構の研究開発を行っているエンジニアが、自分の専門分野ではないpythonを扱って楽しむブログです。

MENU

【python】【初心者】【腕試し】【問題】簡単な数値計算の問題

【問題】ある2つの整数m,nがあるとき,整数mとnの間に存在する整数を全て足し合わせなさい、なおmとnの大小関係はその都度変わるとします。

すなわち例えばm=20,n=10ならば,10+11+12+13+・・・+20を計算するプログラムを書きなさい.

 

【回答例】

if文とfor文を使って書けます。

if文を使ってmとnの大小関係を判定します。(例えばm=20,n=10なら,m>n)

あとは,for文を使ってnからmまで繰り返し足していけば終了です。

 

#整数mとnの間に存在する整数を足し合わせる
m=20
n=10
total=0

if n>=m :
    for i in range(n-m+1):
        total=total+i+m

else:
    for i in range(m-n+1):
        total=total+i+n

print(total)

 

【おまけ】

mとnの値がその都度変わった方が面白いので今回はランダムで0~100の間の整数を発生させるようコードを少し変えてみます。

#整数(m,n)でmとnの間に存在する整数を足し合わせる
import numpy.random as ran
m=ran.randint(101)
n=ran.randint(101)
total=0

if n>=m :
    for i in range(n-m+1):
        total=total+i+m
else:
    for i in range(m-n+1):
        total=total+i+n
print("m="+str(m))
print("n="+str(n))
print(total)

 コードを実行すると以下のような画面が現れます,なおmとnの値は実行するごとに変わります。

f:id:stjun:20190603230149p:plain