记录Linux下实现1到100的和的几种方法
第一种是用shell for 实现
#!/bin/bash
# 求1加到100的和
sum=0
for ((i=1;i<=100;i++));do
sum=$(($i+$sum))
done
echo $sum
第二种shell for的另外一种方法
#!/bin/bash
# 求1加到100的和
sum=0
for i in {1..100};do
let sum+=$i
done
echo "1+2+..+100:" $sum
第三种是用shell while实现
#!/bin/bash
# 求1+2+3+...+100的和
sum=0
i=1
while [ $i -le 100 ];do
sum=$(($sum+$i))
i=$(($i+1))
done
echo "1-100:" $sum
第四种是用shell until
#!/bin/sh
# 求1+2+3+...+100的和
i=1
until ((i >100 ))
do
((j=j+i))
((i++))
done
echo "1-100:" $j
第五种:使用shell seq和awk实现
# seq 100 |awk '{total=total+$1} END {print total}'
5050
或
# seq 100 |awk '{total+=$1} END {print total}'
5050
第六种: 使用shell中.{}数字列表结合tr、bc方法
# echo {1..100}|tr " " "+"|bc
5050
第七种: 使用shell中.seq结合bc字符计算方法
# seq -s + 100|bc
5050
或
# seq -s "+" 100|bc
5050
第八种:seq xargs sed bc实现
# seq 1 100|xargs|sed 's/ /+/g'|bc
5050
第九种:纯awk实现1到100的和方法
# awk 'BEGIN {for (i=1;i<=100;i++) sum+=i;print sum}'
5050
或
#!/bin/bash
awk ' BEGIN{
test = 100;
totcal=0;
while(i<=test){
tocal+=i;
i++;
}
print "total = ",tocal;
}'
第十种:python中for来实现
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 求1+2+3+...+100之和
# 用for实现1+2+3+...+100之和
sum = 0
for x in xrange(1,101):
sum = sum + x
print sum
部分参考: https://oldboy.blog.51cto.com/2561410/767862
评论