📜  Bash 程序检查数字是否为质数

📅  最后修改于: 2022-05-13 01:57:30.631000             🧑  作者: Mango

Bash 程序检查数字是否为质数

给定一个数字,任务是使用 Bash 脚本查找给定的数字是否为质数。

例子:

Input: N = 43
Output: Prime

Input: N = 35
Output: Not Prime

质数:
质数是大于1的整数,它只能被 1 和它本身整除。前几个素数是:2 3 5 7 11 13 17 19 23 .....

方法:
我们运行一个从 2 到 number/2 的循环,并检查是否存在该数字的任何因数。如果我们找到任何因子,则该数字是合数,否则为素数。

执行:

#storing the number to be checked
number=43
i=2
  
#flag variable
f=0
  
#running a loop from 2 to number/2
while test $i -le `expr $number / 2` 
do
  
#checking if i is factor of number
if test `expr $number % $i` -eq 0 
then
f=1
fi
  
#increment the loop variable
i=`expr $i + 1`
done
if test $f -eq 1 
then
echo "Not Prime"
else
echo "Prime"
fi

输出:

Prime