Perl 求从1到一个自然数的和(0 位领导批示)

这是小骆驼书上第四章<子程序>的练习题之一.要求用子程序写出..

我做出了两种方法:

1.常规解法.


sub total
{
	$total;
	foreach $tot (@_) {
		$total += $tot;
	}
	return $total;
}

my @fred = 1..10000;
my $fred_total = &total(@fred);

print $fred_total;

数组循环相加..效率很差-_-!

2.等差数列


sub totalnum
{
	$total = (((1+$_[0])*$_[0])/2);
	return $total;
}

print &totalnum(10000);

NOTE: 和等于 1 加上 最大数 然后乘以最大数 最后除 2

我这里是求出1到10000的和.第2种方法明显优于第1种

随机显示的10篇日志

评论最多的10篇日志

浏览最多的10篇日志