shell编程 判断回文数
时间: 2023-06-16 19:05:18 浏览: 72
以下是一个简单的 Shell 脚本,可以用来判断一个数是否为回文数:
```shell
#!/bin/bash
echo -n "请输入一个数: "
read num
temp=$num
reverse=0
while [ $temp -gt 0 ]
do
remainder=$((temp % 10))
reverse=$((reverse * 10 + remainder))
temp=$((temp / 10))
done
if [ $num -eq $reverse ]
then
echo "$num 是回文数"
else
echo "$num 不是回文数"
fi
```
脚本的思路是先将用户输入的数保存在变量 `num` 中,然后通过一个 `while` 循环,将这个数反转,保存在变量 `reverse` 中。最后,比较原数和反转后的数是否相等,如果相等,则说明这个数是回文数。
在循环中,我们用 `temp` 变量来保存原数,每次取出它的个位上的数字,保存在 `remainder` 变量中,并将 `reverse` 乘以 10,再加上 `remainder`,这样就实现了数字反转。最后,将 `temp` 除以 10,继续循环,直到 `temp` 变为 0,循环结束。
相关问题
shell编程判断素数
判断素数的shell编程代码如下:
```shell
#!/bin/bash
echo "请输入一个正整数:"
read num
if [ $num -lt 2 ]; then
echo "$num 不是素数"
exit
fi
for (( i=2; i<$num; i++ ))
do
if [ $(($num % $i)) -eq ]; then
echo "$num 不是素数"
exit
fi
done
echo "$num 是素数"
```
以上代码首先要求用户输入一个正整数,然后判断该数是否小于2,如果小于2,则不是素数;如果大于等于2,则从2开始循环到该数的前一个数,判断该数是否能被循环变量整除,如果能,则不是素数,否则是素数。
shell编程判断闰年
判断闰年的方法可以使用以下的Shell脚本:
```
#!/bin/bash
echo "请输入一个年份:"
read year
if [ $((year%4)) -eq ] && [ $((year%100)) -ne ] || [ $((year%400)) -eq ]
then
echo "$year 是闰年"
else
echo "$year 不是闰年"
fi
```
这个脚本首先会提示用户输入一个年份,然后使用if语句判断该年份是否为闰年。判断的方法是:如果该年份能被4整除但不能被100整除,或者能被400整除,那么就是闰年。如果不符合这两个条件,则不是闰年。