#!/bin/bash echo Type the number read a #素因数分解する数の入力を促し、素因数分解する数をaとして読み込みます b=3 #まず最初にためす素数をb=3とします echo -n "Prime Numbers Of $a :" echo -n "Prime Numbers Of $a :" > quiz2.txt #素因数分解する数を表示し、quiz2.txtに書き込みます。 if [ $a = 1 -o $a = 0 ] then echo Do not have any prime numbers echo Do not have any prime numbers >> quiz2.txt else #入力された数が1または0の時は素数を持たないと表示する。 while [ `expr $a % 2` = 0 ] do echo -n " 2 " ;echo -n " 2 " >> quiz2.txt a=`expr $a / 2` done #割る数が偶数の場合は2で割ることを繰る返します。 #奇数になったら下記を繰り返します。 while [ `expr $a / $b` -ge 1 ] #a/bが1以上の場合、以下の操作を繰り返します #(このaとbは下記の操作を繰り返され得られるもの) do if [ `expr $a % $b` = 0 ] then #aをbで割った余りが0の時 a=`expr $a / $b` echo -n " $b " ;echo -n " $b " >> quiz2.txt #aをbで割ったものを新しくaとして、再び操作を繰り返す。 #割り切れた時のbの値を表示。quiz2.txtに書き込み else b=`expr $b + 2` #割り切れなかった場合は、 #その時のbに2足した数を新しくbとして、再び操作を繰り返す fi done #a/b≦1となったら終了 fi echo " " #次のコマンドや表記が改行されてからはじまるようにする。