整数問題を解く時には、割り切れるかという判定がショッチュウでてきます。
割り切れるかどうかは、まず実数として割ってみて、割ったあまりがゼロ、つまり商が整数であることと同じです。
INT()関数を使う方法
割り切れるかどうかを判定するために、よく使うのが、INT()関数を使う方法です。
xがyで割り切れるかどうかを判定するには、
x/y=INT(x/y)
が成立するかどうかでわかります。
実際には、
if x/y=INT(x/y) then
{割り切れた時の処理}
else
{割り切れなかった時の処理}
endif
といった処理となります。
MOD()関数を使う方法
あまりを計算するMOD()関数を使う方法もあります。
実は、MOD()関数は、1で割ると、小数部分を返す仕様となっています。
ですから、
xがyで割り切れるかどうかは、
MOD(x,y)
が0かどうかで判定できます。
MOD()関数は、整除の時の余りを求める関数としてよく使われますが、あまりが0であるということは、割り切れるというのと同じ意味ですから、割り切れるかどうかの判定でも活用できる関数なのです。
if mod(x/y)=0 then
{割り切れた時の処理}
else
{割り切れなかった時の処理}
endif
コメント