#はじめに素因数分解をする基本方針は、 #与えられた数を因数2で割り、商をまた2で割り、 #という操作を続けて、 #割り切れなくなったら因数に1を足して、 #商をまたどんどん割っていき、割り切れなくなったら、 #因数にまた1を足して商を割っていき、 #最終的に因数と商が等しくなったら終了という方針です。 #! /bin/bash echo "What's the number ?" #素因数分解したい数字を入力するよう聞いてきます。 read a #打ち込んだ数字をaとして読み込みます。 num=2 #変数numの初期値を2とします。 echo -n "$a :" #与えた数字aを改行せずに表示します。 echo -n "$a :" >> quiz2.txt #aをquiz2というテキストファイルに改行せずに出力します。 while [ $a -ne $num ] #変数aと変数numが等しくなるまで以下の操作を続けます。 do if [ `expr $a % $num` -eq 0 ] #変数aを変数numで割った余りが0と等しいという条件が then #真ならば以下の1.2.3の操作をします。 echo -n " $num" #1.変数numを改行せずに表示します。 echo -n " $num" >> quiz2.txt #2.quiz2に変数numを改行せずに出力します。 a=`expr $a / $num` #3.変数aはa割るnumとします。 else #偽ならば以下の操作をします。 num=`expr $num + 1` #変数numに1を足します。 fi done echo " $num" #変数numを表示します。このとき$a=$numなのでecho " $a"でもいいです。 echo " $num" >> quiz2.txt #変数numをquiz2というテキストファイルに出力します。 echo "end" #終了と表示されます。