输出7的倍数

输出7的倍数

http://www.nowcoder.com/questionTerminal/8b85768394304511b0eb887244e51872

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

#!/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
全部评论
exit 0 是什么意思
1 回复
分享
发布于 2022-02-14 17:06
for ((i = 0; i <= 500; i += 7)); do echo $i done
6 回复
分享
发布于 2022-05-16 01:14
滴滴
校招火热招聘中
官网直投
脚本结束的时候最后一条命令是不成功的,所以牛客的在线测试就通不过 [[ "((num%7))" -eq 0 ]] && echo "${num}"
点赞 回复
分享
发布于 2022-06-20 10:21
第三种方法一直运行不通过,原来是echo "${num}" 这里,打印变量多了“”,去掉即可
点赞 回复
分享
发布于 2022-09-06 10:23 广东
你的代码中最后500不是7的倍数,所以最后命令不成功所以判定失败,换成if来判断就行了。
点赞 回复
分享
发布于 2022-11-19 13:30 江苏
seq 0 7 500
点赞 回复
分享
发布于 2023-04-07 16:47 北京

相关推荐

点赞 评论 收藏
转发
68 3 评论
分享
牛客网
牛客企业服务