다음 프로그램은 7 행과 9 행에 오류 while
가 있습니다. 루프가 작동하지 않는 것 같습니다. 3에서 원하는 입력까지 모든 소수와 합성 수를 보여주는 프로그램입니다.
echo prograam to find all the prime numbers from 3 to given number
echo enter the last number
read number
n=$number
i=3
m=3
while [ $m -le $n ]
do
while [ $i -le $m ]
do
m=`expr $n % $i`
i=`expr $i +1`
if [ $m -eq 0 ]
then
echo $n is a prime number \n
else
echo $n is not a prime number \n
fi
done
m=`expr $m +1`
done
셸 스크립트를 다시 작성했습니다.
echo "program to find all the prime numbers from 3 to given number"
echo "enter the last number"
read number
n=$number
i=2
m=2
is_prime=0
while [ "$m" -lt "$n" ]
do
while [ "$i" -le "$m" ]
do
m=$(expr $n % $i)
i=$(expr $i + 1)
if [ "$m" -eq 0 ]
then
echo "$n is not a prime number"
exit
else
is_prime=1
fi
done
m=$(expr "$m" + 1)
done
if [ "$is_prime" -eq 1 ]; then
echo "$n is a prime number"
fi
exit
이를 위해 다음을 참조했습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다