Linux中shell编程,输出任何数的和

编写一个shell脚本sum,求前n个奇数之和。数字n可变求大神... 编写一个shell脚本sum,求前n个奇数之和。数字n可变 求大神 展开
 我来答
一把三尺剑
2013-06-24 · TA获得超过995个赞
知道答主
回答量:139
采纳率:0%
帮助的人:106万
展开全部

我是这么理解楼上提问题的意思:求前n个奇数之和,数字n可变。比如n=5,则5前面的奇数为1和3并求和为4。如果n=9,则9前面的奇数为1,3,5,7并求和为16。不知道我理解的对不?如果是这样的,那么如下所示:


代码:

#!/bin/bash

sum=0

k=0

while [ $((2*$k+1)) -lt $1 ]

do

        echo $((2*$k+1))

        sum=$((2*$k+1+$sum))

        k=$(($k+1))

done

echo "sum: $sum"

seesea2517
推荐于2016-07-24 · TA获得超过1480个赞
知道小有建树答主
回答量:512
采纳率:100%
帮助的人:554万
展开全部

下面有输出测试的奇数,不要输出可以删除掉就行了:

#!/bin/bash

sum=0
n=$1

for ((i = 0; i < n; ++i))
do
    # 测试输出这几个奇数
    echo $((2 * i + 1))
    ((sum += 2 * i + 1))
done

echo "Sun: $sum"

 

保存成 sum.sh

调用的时候用参数传入 n,比如 bash sum.sh 4 就可以算前四的数,简单起见没有对参数做有效性的判断。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式