跳转至

输出7的倍数

题目描述

写一个 bash 脚本以输出数字 0 到 500 中 7 的倍数 (0 7 14 21...) 的命令

解题思路

第一反应想到的是如下代码:

#!/bin/bash
for num in {0..500};do
   [[ "((num%7))" -eq 0 ]] && echo "${num}"
done

结果,无论如何都无法通过。

分析后注意到这一点:因为最后一次判断的数字是 500,会造成返回值不是 0,因此最后需要添加 exit 0

#!/bin/bash
for num in {0..500};do
   [[ "((num%7))" -eq 0 ]] && echo "${num}"
done
exit 0

这是最简单的方式,我对 shell 不是很熟悉,因此没有想到这个:

#!/bin/bash
for num in {0..500..7}; do  
  echo "${num}" 
done

最终解法....

seq 0 7 500

seq 用于生成从一个数到另一个数之间的所有整数。

用法:

  • seq [选项]... 尾数

  • seq [选项]... 首数 尾数

  • seq [选项]... 首数 增量 尾数