例えば次の様な式があったとします。
T = a * b / c + d - E
a〜eはすべて1以上かつ小数点以下が0でない(1.23など)とします。
さらにTは小数点以下を切り捨てた整数だとします。
この場合 T = Int ( a * b / c + d - E )
でいいはずなんですが、今回は
a*bの値の整数部のみをcで割り、その整数部に更にdを足してその整数部のみからEを引きたいと思っています。
つまりa*bなどの計算ごとに整数のみにしたいと思っています。
どうすればいいでしょうか?
a*bの値の整数部のみをcで割り
int(a*b)/c
その整数部に更にdを足して
int(int(a*b)/c)+d
その整数部のみからEを引きたいと
int(int(int(a*b)/c)+d)-E
...つまりa*bなどの計算ごとに整数のみにしたいと思っています。
つまりa*bなどの計算ごとにInt関数を使いましょう。
で、いかがでしょうか?
Int(a * b)ということでしょうか?
そうです。
一歩一歩やっていけば問題ないです。
a*bの値の整数部のみ = Int(a*b)
それにcで除算 = Int(a*b) / c
cを除算した状態で整数部のみ = Int(Int(a*b) / c)
にdを加算 = Int(Int(a*b) / c) + d
dを加算した状態で整数部のみ = Int(Int(Int(a*b) / c) + d)
からeを引く = Int(Int(Int(a*b) / c) + d) - e
でその結果を整数で受け取りたければ = Int(Int(Int(Int(a*b) / c) + d) - e)
です。
落ち着いて考えれば何の問題もありません。
×除算
○剰算
でした(^^;
一発でやるより一つずつ確実にこなしていく方がいいみたいですね。
ありがとうございました。
ツイート | ![]() |