给定一个数字, 任务是使用Bash脚本查找给定的数字是否为质数。
例子:
Input: N = 43
Output: PrimeInput: N = 35
Output: Not Prime
质数:
质数是大于1的整数,只能被1和它本身整除。前几个素数是:23 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
【Bash程序检查Number是否为质数】输出如下:
Prime
推荐阅读
- 算法题(使用递归生成所有可能的子序列)
- Python OpenCV仿射变换实现详细指南
- SASS如何使用占位符选择器(用法示例)
- Python使用Pandas处理日期和时间
- 如何在JavaScript中创建二维数组()
- 进展问题(AP,GP,HP)详细介绍
- CSS边框属性用法示例
- 亚马逊面试题分享|S54(实习)
- 安装系统 华硕笔记本重装系统,教您华硕笔记本如何重装系统(安装系统)