我必须为命令行提取2个参数。第一个参数是起始编号,第二个参数是整数。这是我到目前为止所拥有的。
#!/bin/bash
x=$1
y=$2
z=0
k=$((x%2))
while [ $z -lt $y ]; do
if [ $k == 0 ]; then
echo $k
fi
x=$((x+1))
echo $((x+1))
k=$((x%2))
z=$((z+1))
done
有没有人可以帮我这个节目,我真的很感激。
答案 0 :(得分:1)
这个公式显然适用于我们有m'= n'(当然都是偶数)的基本情况,减少到(m'+ m')* 2/4 = m'。证明:为读者锻炼。
示例如何:在从7开始的范围内加上甚至包含15个整数的整数。
检查结果
$ echo $(( 8 + 10 + 12 + 14 + 16 + 18 + 20 ))
98
Bash代码:为读者练习。
答案 1 :(得分:0)
这是第一次剪辑:
#!/bin/bash
cur=$1
max=$(( $1 + $2 ))
sum=0
# increment to next even number if starting value is odd
(( cur % 2 == 1 )) && (( ++cur ))
(( max % 2 == 1 )) && (( --max ))
for (( x=cur; x <= max; x+= 2 )); do
(( sum += x ))
done
echo "$sum"
其工作原理如下:
# 4 = 4
$ ./sum-events 3 2
4
# 4 + 6 = 10
$ ./sum-events 4 2
10