目次
前
次
中国の剰余定理(Bshell)
算術で解を求めるために、シェルスクリプトを書いて
みます。
3で割ると2余り、5で割ると3余り、7で割ると2余る数は何か
これが、『孫子算経』に記載されている、整数の剰余に
関する定理に関係するそう。
1000未満の整数で、剰余系の例題に示された整数値を
シェルスクリプトで求めてみます。
結果は、次のようになりました。
Hit <= 23 : 2 3 2
Hit <= 128 : 2 3 2
Hit <= 233 : 2 3 2
Hit <= 338 : 2 3 2
Hit <= 443 : 2 3 2
Hit <= 548 : 2 3 2
Hit <= 653 : 2 3 2
Hit <= 758 : 2 3 2
Hit <= 863 : 2 3 2
Hit <= 968 : 2 3 2
条件を満たす整数値は、次の10個だとわかります。
23
128
233
338
443
548
653
758
863
968
1から999までの整数値を表示するシェルスクリプトを
書いてみると、以下。
!# /bin/bash
# initialize
i=1
last=1000
# repeat
while [ $i -lt $last ]
do
# show
echo $i
# increment
let i++
done
剰余系で与えられた条件の判定を加えます。
!# /bin/bash
# initialize
i=1
last=1000
# calculate
let r1=$i%3
let r2=$i%5
let r3=$i%7
# repeat
while [ $i -lt $last ]
do
# judge
if [ $r1 -eq 2 -a $r2 -eq 3 -a $r3 -eq 2 ] ; then
# show
echo "Hit <=" $i ":" $r1 $r2 $r3
fi
# increment
let i++
# calculate
let r1=$i%3
let r2=$i%5
let r3=$i%7
done
Bshellでは、変数の値を使うときに、$をつけるので
少し注意が必要ですが、慣れれば何ともなくなります。
目次
前
次